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

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

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

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

WordPress : principes et fonctionnement

WordPress : principes et fonctionnement CHAPITRE 1 WordPress : principes et fonctionnement WordPress est à l origine un outil conçu pour tenir un blog, c est-à-dire un journal ou carnet de bord en ligne. Mais il a évolué pour devenir un système

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

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

Sites web propriétaires

Sites web propriétaires Ce document est disponible à : C:\Users\pc_samba\Documents\Doc sites prop.docx Sommaire 1 Introduction... 3 2 Création du mini-site... 4 2.1 Autorisation de création... 4 2.2 Création de votre site Web...

Plus en détail

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

ALBUM Y REALISE PAR DAGHOUI AZZEDDINE NAJMI HAFIDA ABDALLAH MAISSA

ALBUM Y REALISE PAR DAGHOUI AZZEDDINE NAJMI HAFIDA ABDALLAH MAISSA ALBUM Y REALISE PAR DAGHOUI AZZEDDINE NAJMI HAFIDA ABDALLAH MAISSA Sommaire INTRODUCTION... 3 SYNOPSIS... 4 TITRE DU PROJET... 4 CONCEPT DU PROJET... 4 PUBLIC VISE... 4 OBJECTIFS... 4 CAHIER DES CHARGES...

Plus en détail

Bonjour, Matthieu, pouvez-vous nous expliquer le concept de Nuukik?

Bonjour, Matthieu, pouvez-vous nous expliquer le concept de Nuukik? Bonjour, Matthieu, pouvez-vous nous expliquer le concept de Nuukik? Nuukik est un moteur de recommandation de produit aidant les e-commerçants à dynamiser et personnaliser leur offre commerciale afin de

Plus en détail

Sommaire. Qu est ce qu un blog? Blog / site : quelle différence? Les plateformes de blog

Sommaire. Qu est ce qu un blog? Blog / site : quelle différence? Les plateformes de blog Sommaire Qu est ce qu un blog? Blog / site : quelle différence? Les plateformes de blog Premiers pas sur Wordpress Créer un compte utilisateur Créer un blog Tableau de bord et administration Interface

Plus en détail

INTRODUCTION. Utiliser ce livre à 100 % INTRODUCTION

INTRODUCTION. Utiliser ce livre à 100 % INTRODUCTION INTRODUCTION INTRODUCTION Utiliser ce livre à 100 % PHP, MySQL, XHTML... 9 Erreur méthodologique majeure à éviter... 11 Enjeu stratégique : automatiser le référencement... 12 Organisation de cet ouvrage...

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

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

Initiation à Internet Médiathèque de Bussy Saint-Georges. Le Cloud

Initiation à Internet Médiathèque de Bussy Saint-Georges. Le Cloud Le Cloud : Le Cloud : SOMMAIRE : I PRÉSENTATION DU SERVICE... PAGES 3-7 1.1 - Onedrive : Pour quoi faire?.. Page 3 1.2 - Définition de Wikipedia... Page 4 1.3 - Caractéristiques... Page 5 1.4 - Espace

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

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

GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS

GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS GUIDE D UTILISATION DE LA PLATEFORME D ENVOI DE COURRIELS Table des matières Présentation de la plateforme d envoi de courriels... 4 1- Gestion des contacts... 5 1.1. Base de données... 5 1.1.1- Création

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

Troisième concours d ingénieur des systèmes d information et de communication. «Session 2010»

Troisième concours d ingénieur des systèmes d information et de communication. «Session 2010» Troisième concours d ingénieur des systèmes d information et de communication «Session 2010» Meilleure copie "Etude de cas" Sujet : Architecture et Systèmes Note obtenue : 15,75/20 La société «Mission

Plus en détail

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

Versus Etude Technologique

Versus Etude Technologique VS Versus Etude Technologique 1 VS Contents Introduction... 3 Présentation des technologies... 3 Phonegap... 3... 3 Pour quels besoins?... 4 Comment ça fonctionne? Les models... 4 Phonegap... 5... 6 Comparatif...

Plus en détail

Sujet de veille technologique : Les langages de développement et leurs évolutions

Sujet de veille technologique : Les langages de développement et leurs évolutions 2014 Sujet de veille technologique : Les langages de développement et leurs évolutions Charly Rivière IIA SOMMAIRE : SOMMAIRE :... 0 1. Pourquoi ce sujet?... 2 2. Qu est-ce qu un langage de développement...

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

TP 1 Outils de collaboration réseau

TP 1 Outils de collaboration réseau Objectifs TP 1 Outils de collaboration réseau 1re partie : Utiliser des outils de collaboration Identifiez la perception actuelle des outils de collaboration. Identifiez les principales raisons d utiliser

Plus en détail

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet 06/11/2014 Hyperviseurs et Infrastructure Formation Pierre Derouet Table des matières I. Qu est-ce qu un Hyperviseur?... 2 a. Définition... 2 b. Les avantages des hyperviseurs... 2 c. Les inconvénients

Plus en détail

Rapport de Post- Campagne 1

Rapport de Post- Campagne 1 Rapport de Post- Campagne 1 Résumé - La campagne Adwords que nous avons mené pour Galerie Photo-Originale a duré 21 jours (5.05-26.05) et nous a coûté $250,18. L objectif principal est en premier de stimuler

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

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

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES 1 Base de données COURS 01 INTRODUCTION AUX BASES DE DONNÉES Objectifs du cours 2 Introduction aux bases de données relationnelles (BDR). Trois volets seront couverts : la modélisation; le langage d exploitation;

Plus en détail

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04

KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 KUMARASAMY Sandirane Lemont Jérémy Fruitet Robin FOULARD Aymeric BTS 2 SLAM Compte-rendu PPE03 et PPE04 Environnement : Ce projet a été réalisé en deuxième année de BTS, il s'agit d'un travail de groupe

Plus en détail

Cookies de session ils vous permettent de sauvegarder vos préférences d utilisation et optimiser l expérience de navigation de l Utilisateur ;

Cookies de session ils vous permettent de sauvegarder vos préférences d utilisation et optimiser l expérience de navigation de l Utilisateur ; Ce site utilise des Cookies, émis également par des tiers, pour des raisons de fonctionnalité, pratiques et statistiques indiquées dans notre politique en matière de Cookies. Politique en matière de Cookies

Plus en détail

1. Présentation générale

1. Présentation générale BTS SIO PPE2 SISR OCS Inventory NG Page 1 1. Présentation générale 1.1. Principales fonctionnalités 1.1.1. Inventaire et gestion de parc Open Computers and Software Inventory Next Generation est un logiciel

Plus en détail

Exemple de rapport simplifié de Test de charge

Exemple de rapport simplifié de Test de charge syloe.fr http://www.syloe.fr/conseil/test de charge/exemple de rapport simplifie de test de charge/ Exemple de rapport simplifié de Test de charge Contexte du test de charge Un client nous soumet une problématique

Plus en détail

StockMalin l application pour les brocanteurs!

StockMalin l application pour les brocanteurs! StockMalin l application pour les brocanteurs! Conçue en intégralité par Quentin Comte-Gaz StockMalin Gestion de stock/clients/fournisseurs en ligne (2014) 1/15 Sommaire Introduction...3 PARTIE 1 : DESCRIPTION

Plus en détail

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées? Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites Quelles solutions peuvent être employées? Présentation d une des solutions Conclusion Aujourd hui le web est

Plus en détail

Conception et Implémentation

Conception et Implémentation I. INTRODUCTION Dans ce chapitre on va définir la conception de notre site web dynamique et nous expliquons les étapes de réalisation, les outils utilisés et l interface principale ainsi que les différentes

Plus en détail

Campagnes adwords web

Campagnes adwords web NOTRE ÉQUIPE NOS SERVICES WEB Développement Campagnes adwords web L évolutivité de nos sites n a de limite que celle que vous vous imposez! Nous réalisons pour vous vos campagnes de communication Notre

Plus en détail

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring 3 Installer Joomla Dans ce chapitre, nous procéderons au téléchargement et à l installation manuelle de Joomla, et nous expliquerons la configuration de base. Les captures d écran et les instructions font

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

Mise en place d une gestion d un fond d images pour le service d un community manager

Mise en place d une gestion d un fond d images pour le service d un community manager Projet Informatique Mise en place d une gestion d un fond d images pour le service d un community manager Projet réalisé avec Filemaker Pro 12 Projet informatique présenté en vue d obtenir la LICENCE PROFESSIONNELLE

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

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés Base de Connaissances SiteAudit Utiliser les Rapports Planifiés Avril 2010 Dans cet article: Sommaire des fonctionnalités Les nouveautés Planifier des rapports SiteAudit 4.0 fournit une nouvelle interface

Plus en détail

REFONTE, DEVELOPPEMENT ET HEBERGEMENT DU SITE WEB

REFONTE, DEVELOPPEMENT ET HEBERGEMENT DU SITE WEB A L'ATTENTION DE : PROJET : REFONTE, DEVELOPPEMENT ET HEBERGEMENT DU SITE WEB // Réf. : EXA20061124 // Date du devis : 07/12/2006 // Modifié le : 07/12/2006 // Valable jusq'au : 07/01/2007 //Version 1.00

Plus en détail

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x)

Manuel utilisateur du site www.cg-corsedusud.fr. 1. L Interface Typo 3 (version 4.4.x) Manuel utilisateur du site www.cg-corsedusud.fr 1. L Interface Typo 3 (version 4.4.x) Version 1 Le contenu de ces pages est relatif à TYPO3, CMS/Framework sous licence GNU/GPL disponible sur www.typo3.com

Plus en détail

Sauvegarde des données du scribe sur disque USB

Sauvegarde des données du scribe sur disque USB Sauvegarde des données du scribe sur disque USB Objectif : Palier aux dysfonctionnements provoqués par une sauvegarde «Bacula» proposée dans l'ead du Scribe. Réaliser une sauvegarde des données du serveur

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

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

Sauvegarde d une base de données

Sauvegarde d une base de données Sauvegarde d une base de données Version 1.0 Grégory CASANOVA 2 Sauvegarde d une base de données Sommaire 1 Introduction... 3 2 Différents types de sauvegarde... 4 2.1 Sauvegarde complète de base de données...

Plus en détail

Dossier Spécial DE NOUVELLES PERSPECTIVES POUR UNE BUSINESS INTELLIGENCE AGILE

Dossier Spécial DE NOUVELLES PERSPECTIVES POUR UNE BUSINESS INTELLIGENCE AGILE Dossier Spécial DE NOUVELLES PERSPECTIVES POUR UNE BUSINESS INTELLIGENCE AGILE L es utilisateurs du décisionnel réclament plus de souplesse. Les approches mixtes, classiques et liées aux Big Data, répondent

Plus en détail

Systèmes de Gestion de Contenu

Systèmes de Gestion de Contenu Introduction aux de site Web Master 1 CAWEB Page 1/7 Introduction Définition CMS Content Management Systems : logiciels de conception et de mise à jour dynamique de site web ou d'application multimédia

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

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

Site vitrine / Boutique en ligne Site mobile / Hébergement / Nom de domaine E-mail / Référencement / Multilangues

Site vitrine / Boutique en ligne Site mobile / Hébergement / Nom de domaine E-mail / Référencement / Multilangues T A R I F S 2015 Site vitrine / Boutique en ligne Site mobile / Hébergement / Nom de domaine E-mail / Référencement / Multilangues Services Ce que nous pouvons vous proposer 1 / Site Internet Faites connaître

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

Les sites statiques et dynamiques : PHP et SQL

Les sites statiques et dynamiques : PHP et SQL Les sites statiques et dynamiques : PHP et SQL Introduction Dans cet exposé, nous traiterons dans un première partie, de la création de pages web statiques et dynamiques. La deuxième partie sera consacrée

Plus en détail

Mini Mobile Story Dossier de presse - Juillet 2013

Mini Mobile Story Dossier de presse - Juillet 2013 Dossier de presse - Juillet 2013 «Racontez de petites histoires sur vos smartphones» Introduction «Avez-vous déjà flashé un Qr Code avec votre smartphone?» «Vous êtes tombés sur un site fait pour un écran

Plus en détail

Comment faire croître le trafic de vos Boutiques ALM grâce à une meilleure utilisation de Google?

Comment faire croître le trafic de vos Boutiques ALM grâce à une meilleure utilisation de Google? Comment faire croître le trafic de vos Boutiques ALM grâce à une meilleure utilisation de Google? Préparé par l équipe ALM A l attention de la communauté ALM Novembre 2010 Introduction Comme vous le savez

Plus en détail

Mode operatoire Reseau pedagogique

Mode operatoire Reseau pedagogique Mode operatoire Reseau pedagogique Les fonctionnalités du réseau pédagogique ont évolué cette année. Vous reprenez la main et vous avez la possibilité de réaliser un certain nombre d actions personnelles

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

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

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel

Présentation de la solution SAP SAP Technology SAP Afaria. La mobilité d entreprise comme vecteur d avantage concurrentiel Présentation de la solution SAP SAP Technology SAP Afaria La mobilité d entreprise comme vecteur d avantage concurrentiel des périphériques et des applications des périphériques et des applications La

Plus en détail

Livret du Stagiaire en Informatique

Livret du Stagiaire en Informatique Université François-Rabelais de Tours Campus de Blois UFR Sciences et Techniques Département Informatique Livret du Stagiaire en Informatique Licence 3ème année Master 2ème année Année 2006-2007 Responsable

Plus en détail

Travaux pratiques. avec. WordPress. Karine Warbesson

Travaux pratiques. avec. WordPress. Karine Warbesson Travaux pratiques avec WordPress Karine Warbesson Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs. Mise en pages réalisée par ARCLEMAX Illustration

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

Gérer un site internet simple

Gérer un site internet simple TUTORIEL Gérer un site internet simple Pourquoi avoir un site internet? Table of Contents Table of Contents... 2 Étape 1 : créer un compte Google (Gmail)... 3 Etape 2 : créer un site internet Google...

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Défi Cloud Computing

Défi Cloud Computing EQUIPE RICM 2010 Défi Cloud Computing Dossier de remarques Ricom c est l @base 04/12/2009 Sommaire Introduction... 3 Les applications et la plateforme Cloud Computing... 4 Cloud Computing - RICM-2010 Page

Plus en détail

Mettre en place sa plateforme de veille avec Netvibes

Mettre en place sa plateforme de veille avec Netvibes Mettre en place sa plateforme de veille avec Netvibes Karine Pasquier 6 mai 2011 HEG, Genève 1 Sommaire 1. Introduction... 3 1.1 Qu est-ce que c est... 3 1.2 A quoi ça sert pour la veille?... 3 1.3 Netvibes

Plus en détail

COMMENT OPTIMISER SON RÉFÉRENCEMENT NATUREL?

COMMENT OPTIMISER SON RÉFÉRENCEMENT NATUREL? LAD C. MENES / Shutterstock COMMENT OPTIMISER SON RÉFÉRENCEMENT NATUREL? Février 2014 Loire-Atlantique développement - Direction de l'action touristique - 1 1. DÉFINIR DES MOTS ET EXPRESSIONS CLÉS PERTINENTS

Plus en détail

Monter un site Intranet

Monter un site Intranet Monter un site Intranet S il n est pas difficile de créer un site Web basique grâce à IIS, ceux d entre vous qui ne sont pas initiés aux langages de développement Web auront du mal à satisfaire les besoins

Plus en détail

Hyperviseurs. et Infrastructure. Formation 06/11/2014. Pierre Derouet

Hyperviseurs. et Infrastructure. Formation 06/11/2014. Pierre Derouet Hyperviseurs 06/11/2014 et Infrastructure Formation Pierre Derouet Sommaire I. Qu est-ce qu un Hyperviseur?... 2 A. Définition... 2 B. Les avantages des hyperviseurs... 2 C. L inconvénient des hyperviseurs...

Plus en détail

Les médias sociaux. Source : http://www.clickz.com/

Les médias sociaux. Source : http://www.clickz.com/ Offre de service! Les médias sociaux Facebook attire plus de clics que Google. Facebook a attiré plus de 200 millions de nouveaux usagers l an passé. 80% des compagnies utilisent Facebook. Source : http://www.clickz.com/

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

Sauvegarde des profils de connexion et des options depuis une installation existante Sauvegarde des profils de connexion

Sauvegarde des profils de connexion et des options depuis une installation existante Sauvegarde des profils de connexion DEPLOYER LES PROFILS DE CONNEXION ET LES OPTIONS LORS D UNE NOUVELLE INSTALLATION DE SAS ENTERPRISE GUIDE 5.1 Inclus dans la plate-forme décisionnelle SAS 9.3, SAS Enterprise Guide 5.1 nécessite de définir

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Internet et les médias sociaux

Internet et les médias sociaux Internet et les médias sociaux Chiffres et tendances 2014 2,5 milliards d internautes à travers le monde Dont 1,9 milliard sur les réseaux sociaux > Soit 74% des internautes 68% des français sont sur les

Plus en détail

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel Excel est un des meilleurs outils de manipulation de données et parfois il est nécessaire d exploiter des données

Plus en détail

BONUS QUALITE FORMATION 2010

BONUS QUALITE FORMATION 2010 Département Formation et Vie Etudiante Service inter-universitaire de Pédagogie BONUS QUALITE FORMATION 2010 Site internet à l attention des étudiants de Licence avec ressources en statistique des enseignants

Plus en détail

Activité FlowCode. Il DECIDE : toute la logique simple (et, ou, comparaison, test de valeur)

Activité FlowCode. Il DECIDE : toute la logique simple (et, ou, comparaison, test de valeur) Activité FlowCode I. Objectif Découvrir les éléments simples d une structure programmée. Simuler un programme de MicroContrôleur. II. Présentation du Microcontrôleur Microcontrôleur PIC 16F84 1. Qu est-ce

Plus en détail

WSS Windows Sharepoint Services Guide pratique. Section Technopédagogie

WSS Windows Sharepoint Services Guide pratique. Section Technopédagogie WSS Windows Sharepoint Services Guide pratique Section Technopédagogie Août 2007 1. QU EST CE QUE WSS? «Un site WSS SharePoint est un site Web représentant un espace de collaboration et un lieu de stockage

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

Comment intégrer des images dans un texte

Comment intégrer des images dans un texte Quoi de plus utile que de pouvoir ajouter une image, un graphique à un commentaire afin d étoffer celui-ci. C est possible de le faire de plusieurs façon dans le forum Météocentre. Cependant il faut limiter

Plus en détail

de facebook comment utiliser les plugins sociaux www.kontestapp.com

de facebook comment utiliser les plugins sociaux www.kontestapp.com comment utiliser les plugins sociaux de facebook www.kontestapp.com MAJ : Août 2012 Proposé par Kontest, créez votre concours sur Facebook, web et mobile - www.kontestapp.com Introduction Aujourd hui,

Plus en détail

Comment maximiser le référencement de votre site e-commerce en 15 minutes Tout le monde veut optimiser le référencement de son site.

Comment maximiser le référencement de votre site e-commerce en 15 minutes Tout le monde veut optimiser le référencement de son site. Comment maximiser le référencement de votre site e-commerce en 15 minutes Tout le monde veut optimiser le référencement de son site. C est simple, pas une semaine ne se passe sans qu un nouvel article

Plus en détail

Utilisation de Sarbacane 3 Sarbacane Software

Utilisation de Sarbacane 3 Sarbacane Software Tutorial par Anthony Da Cruz Utilisation de Sarbacane 3 Sarbacane Software Ambiance Soleil 17 Rue Royale 74000, Annecy Sommaire 1. Présentation générale 2. Guide étape par étape 3. Astuces de l éditeur

Plus en détail

FORMATION «SE DOTER D UN SITE WEB» FÉVRIER 2016. 565, avenue Buckingham Gatineau (Québec) J8L 2H2 819-986-1747 1-888-986-SADC www.sadcpapineau.

FORMATION «SE DOTER D UN SITE WEB» FÉVRIER 2016. 565, avenue Buckingham Gatineau (Québec) J8L 2H2 819-986-1747 1-888-986-SADC www.sadcpapineau. FORMATION «SE DOTER D UN SITE WEB» FÉVRIER 2016 TABLE DES MATIÈRES Étapes #1 : La théorie 1 Pourquoi avoir un site web 2 Définitions 3 Le commerce électronique 4 Les indispensables Étape #2 : Création

Plus en détail

Facebook. Pour une organisation ou une entreprise!

Facebook. Pour une organisation ou une entreprise! Facebook Pour une organisation ou une entreprise! Réalisé en mars 2010 Révisé en décembre 2010 Par : Sultana Ahamed, Isabelle Leblanc et Joline LeBlanc Qu est-ce que Facebook? Facebook est un réseau social

Plus en détail

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2 186 Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2 L'utilisation des fonctionnalités de haute disponibilité intégrées aux applications, L'ajout de solutions tierces. 1.1 Windows Server

Plus en détail

Utilisation avancée de la plateforme Moodle avec un cours déjà construit

Utilisation avancée de la plateforme Moodle avec un cours déjà construit Utilisation avancée de la plateforme Moodle avec un cours déjà construit Mardi 02 avril 2013 Florie BRANGE Urfist de Bordeaux 4, av. Denis-Diderot 33607 PESSAC CEDEX T 33 (0)5 56 84 86 93 F 33 (0)5 56

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

QUESTIONNAIRE CAHIER DES CHARGES POUR FACILITER LA CREATION DE VOTRE SITE WEB

QUESTIONNAIRE CAHIER DES CHARGES POUR FACILITER LA CREATION DE VOTRE SITE WEB QUESTIONNAIRE CAHIER DES CHARGES POUR FACILITER LA CREATION DE VOTRE SITE WEB 1. Quel est mon idée? Mon concept? Un site vitrine Un portfolio Un site de commerce 2. Quel est l objectif de mon site? 3 quels

Plus en détail

Guide d intégration. Protection de logiciels LABVIEW avec CopyMinder. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de logiciels LABVIEW avec CopyMinder. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de logiciels LABVIEW avec CopyMinder Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

Sauvegarder/synchroniser ses données Create Synchronicity

Sauvegarder/synchroniser ses données Create Synchronicity Sauvegarder/synchroniser ses données Create Synchronicity Contrairement à ce que beaucoup pensent, la sauvegarde de données n'est pas une perte de temps, mais à l'inverse un gain de temps en cas d'une

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

OFFRE SITE INTERNET «www.multicibles.fr» Cocoon : Creativmédias - Décembre 2007 «Site internet - www.multicibles.fr»

OFFRE SITE INTERNET «www.multicibles.fr» Cocoon : Creativmédias - Décembre 2007 «Site internet - www.multicibles.fr» OFFRE SITE INTERNET «www.multicibles.fr» «Site internet - www.multicibles.fr» SOMMAIRE P1 - Description 1) Demande 2) Contenu 3) Délai de réalisation P2 - Préconisations Cocoon 1) Charte Graphique 2) Langage

Plus en détail