Indexation et classification temps réel de petites annonces en ligne

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

Download "Indexation et classification temps réel de petites annonces en ligne"

Transcription

1 RAPPORT DE STAGE DE 3 ème ANNÉE Indexation et classification temps réel de petites annonces en ligne Effectué du 18 Avril 2011 au 16 Septembre 2011 Sous la supervision de M. Benjamin Devèze 34 rue de Cléry Paris Olivier FAVRE Option IAD

2 TABLE DES MATIÈRES Table des matières TABLE DES MATIÈRES 1 Présentation de l entreprise Secteur d activité Yakaz.com Cadre Mission réalisée Besoin originel Contraintes à satisfaire Technologies utilisées et préconisées Collaborateurs et contacts Description des technologies impliquées Lucene Présentation Terminologie Requêtage Autre types de champs Mapping et consistance ElasticSearch Présentation Souplesse de configuration Terminologie Aspect distribué Développement Le plus gros du travail Configuration Analyseurs Mapping Développement de modules Expressivité du champ de recherche En route vers une contribution Analyse avancée des champs textuels En route vers une seconde contribution Requête sur une phylogénie Intégration Traitement des workunits d entrée Front Module de présence Validation Comparaison des résultats Déploiement Stage de 3 ème année Olivier FAVRE 2

3 TABLE DES MATIÈRES TABLE DES MATIÈRES 5 Autre sujet traité Classification de requêtes But recherché Données Description Quelques statistiques Approches testées Régression logistique Description de la méthode Prise de décision Pré-traitements Résultats Classifieur bayésien naïf Description de la méthode Prise de décision Pré-traitements Post-traitements Résultats Méthode retenue et déploiement Base de données Extension PHP Gestion des langues Apprentissage incrémental L idée générale Le procédé Optimisations Parallélisation Export Perspectives Moteur de recherche Classification de requêtes Autres tâches futures Détection des topics Jeux mobiles Apports personnels 39 8 Conclusion 40 Stage de 3 ème année Olivier FAVRE 3

4 1 Présentation de l entreprise Présentation de l entreprise 1.1 Secteur d activité Yakaz est une SARL fondée en Septembre 2005 par Frédéric Mahé et Mathurin Ducastelle, au capital de e dans le domaine de la programmation informatique. Le chiffre d affaire 2010 était de e, en augmentation de 88,74 % par rapport à l année précédente. Avec une rentabilité d exploitation de 47,85 %, l entreprise a augmenté son nombre d employés pour dépasser la vingtaine et embauche toujours actuellement. 1.2 Yakaz.com Yakaz est la société éditrice du site web du même nom : Disponible dans 49 langues et 193 pays, il référence les petites annonces localisées et catégorisées. Ainsi vous pourrez chercher un logement, une voiture, une moto ou même un emploi. Quelque soit le domaine recherché, vous pouvez filtrer par type d annonce : vous cherchez à vendre, à louer, vous donnez, proposez vos services, un emploi ou vous avez une bonne critique, un événement à promouvoir, ou vous recherchez une actualité ou peut être avez-vous une question à poser ou vous lancez une discussion. En plus d avoir un moteur de recherche textuel, vous pouvez filtrer les annonces avec des critères avancés, tels que la superficie minimale d un logement, le nombre de pièces, avec photos, commentaires, des enchères, ou bien même un emploi en intérim ou bien une grosse cylindrée rouge avec un faible kilométrage. Toutes ces informations ont été extraites des annonces et sont disponibles à la recherche. Vous pouvez naturellement poster votre annonce sur Yakaz, mais le site est bien plus que cela car il recense toutes les annonces que vous pourrez trouver sur Internet. L entreprise possède des robots d indexation chargés de parcourir la toile à la recherche de nouvelles sources. Ainsi, à quoi bon aller chercher ailleurs alors que vous avez une énorme base d annonces à portée de clic et que vous pouvez poster la votre gratuitement directement sur notre site? Philosophie Pertinence C est le maître mot du site web. Elle est cruciale, car il ne rimerait à rien de proposer un service d annonces localisées qui vous sert des résultats à 1000 km de l endroit recherché. Il y a un travail perpétuel pour améliorer la précision des analyses automatiques par lesquelles chaque annonce passe. Il peut être difficile, par exemple, de bien savoir à quoi correspondent certains chiffres donnés lorsque l annonce est rédigée dans un style très laconique. Innovation Nous désirons offrir des fonctionnalités diverses et nombreuses car nous croyons que cela rendra service au client et par voie de conséquence, l attirera vers le produit. Stage de 3 ème année Olivier FAVRE 4

5 Cadre Présentation de l entreprise Par exemple, nous avons créé un service de chat intégré au site, afin de mieux connecter les annonceurs et les intéressés. Si cela vous rappelle Google, vous n avez pas tort. Par plus d un aspect, le management de l entreprise rappelle celui du géant de l Internet Technologies Afin de pouvoir offrir une qualité de service optimale, nous devons servir chaque page aussi rapidement que possible. En passant moins de temps à traiter chaque demande, nous pouvons ainsi répondre à un nombre toujours grandissant de requêtes. Obtenir de bonnes performances nécessite d utiliser les outils les plus adaptés. Par exemple, nous n utilisons pas le serveur web le plus connu Apache HTTPD pour des raisons de performances, mais un serveur web écrit dans un langage fonctionnel, nommé Yaws, qui permet un traitement simultané des requêtes optimales. Une part importante de l optimisation d un service à l échelle mondiale repose également dans l utilisation de caches de grande capacité et de vitesse de réponse très faible. L architecture matérielle a été conçue de manière tout à fait adaptée aux besoins que chaque composant : mémoire vive importante, ou grosse capacité de calcul, ou encore accès réseau rapide. 1.3 Cadre Localisée dans le 2 ème arrondissement, l endroit est aisément accessible et la vie dans le quartier y est agréable car nous jouissons de la proximité de la rue Montorgueil et du boulevard Poissonière, riches en restauration et en lieux culturels L équipe L équipe technique est composée de 9 personnes à temps plein, 1 ou 2 freelance ponctuellement. Elle est épaulée par un administrateur système et réseau. Nous devons beaucoup également à notre équipe de recherche et développement composée de 2 personnes. Afin de faire vivre le site web, nous comptons sur une chargée de communication et de son assistant, ainsi que 5 animateurs de communautés étrangers, chargés de surveiller le bon fonctionnement et la pertinence du site en rapport avec leur langue maternelle et pays d origine, mais également de trouver de nouvelles sources à répertorier. L entreprise ne saurait être complète sans les 2 patrons et la secrétaire de direction Ambiance Elle y est très décontractée. Le carcan d une rigueur vestimentaire n est imposé à personne, et personne ne se l impose. L entreprise a même offert des tongs Yakaz pour l été! Entre passionnés de technologies, les échanges de connaissance et les débats vont bon train. Enfin je partage des moments entre geeks sans gêner personne. Que ça soit entre geeks ou pas, la bonne humeur est toujours partagée et il est très agréable de travailler dans de telles conditions, surtout sur des sujets passionnants! Stage de 3 ème année Olivier FAVRE 5

6 Mission réalisée 2 Mission réalisée 2.1 Besoin originel Yakaz utilise actuellement les technologies Exalead pour plusieurs étapes de la chaîne de traitement : Le crawling, ou le parcours d Internet. Cette étape permet de détecter et de lister les pages à traiter, aussi bien à l intérieur d un site web qu en tentant de trouver de nouvelles sources. L analyse des pages crawlées afin d en extraire automatiquement le contenu utile, ainsi que d en effectuer l extraction fine à l intérieur de chaque annonce, pour déterminer par exemple le kilométrage ou la couleur d une voiture. L indexation et la recherche pour finalement pouvoir servir les résultats sur le site web. Les annonces ne sont pas les seuls éléments concernés, les mots clés ainsi que les lieux sont également indexés. Nous voulons nous séparer du joug d une solution propriétaire pour investir dans une solution OpenSource, que nous pourrons faire évoluer plus facilement dans le sens que nous souhaitons. De plus le support d une communauté riche de centaines d enthousiastes assure également que nous ne serons pas laissés pour compte en cas de problème. Investir est doublement le mot exact, car déployer une solution alternative, quelle qu elle soit, prendra du temps, mais aussi parce que certains des développements supplémentaires que ce changement technique impliquera pourront sans difficulté faire l objet d une contribution à la communauté faisant vivre ces solutions. Les développements réalisés dans les parties crawling et analyse ayant été réalisées sur la base du code source propriétaire qu Exalead a accepté de nous ouvrir, pour des raisons historiques ne seront pas trop difficiles à porter, bien qu ils aient été réalisés en ExaScript, langage propriétaire d Exalead, offrant une surcouche au langage Java et se basant sur les mêmes APIs de base. Le chantier commence donc par la partie indexation, et j ai été recruté pour m en occuper à temps plein, épaulé par quelques autres collaborateurs. 2.2 Contraintes à satisfaire Bien entendu, nous ne devons pas perdre en fonctionnalité par rapport à l offre actuelle. Mais d autres contraintes additionnelles entrent en compte : Être plus évolutif que la solution actuelle. Conserver une taille d index dans le même ordre de grandeur que celui d Exalead. Les machines sur lesquelles font tourner le moteur de recherche auront énormément de mémoire vive, mais une quantité limitée de mémoire persistante. Respecter des timings assez agressifs sur les temps de recherche. Cette contrainte est également fortement liée à la suivante. Être intégrable au système de cache très efficace déjà en place. C est un des éléments principaux qui permet de passer à l échelle mondiale en conservant une grande disponibilité de service. Stage de 3 ème année Olivier FAVRE 6

7 Technologies utilisées et préconisées Mission réalisée 2.3 Technologies utilisées et préconisées À mon arrivée, la question de la technologie de substitution à utiliser avait déjà été abordée. Parmi les moteurs de recherche libre, Lucene semblait l un des mieux placés. Mais surtout, il dispose d une surcouche relativement récente qui démultiplie ses possibilités : ElasticSearch. Si le choix n est pas verrouillé, il semble à priori l un des meilleurs possibles. En effet, il existe d autre moteurs de recherche ainsi que d autres surcouches à Lucene, mais celle ci à l air de correspondre à nos attentes. 2.4 Collaborateurs et contacts Comme je le disais, si je suis la seule personne à travailler à temps plein sur ce chantier, je ne suis pas sans soutien. Benjamin Devèze, le plus ancien employé de Yakaz de l équipe technique, possède une excellente connaissance de toute notre infrastructure, car il a pu suivre, s il n a pas lui-même réalisé la construction de tout l existant. Toujours très disponible, il m a aidé à découvrir les particularités de notre chaîne de traitement. Grâce à ses remarques toujours très pertinentes, nous avons souvent pu avancer dans la bonne direction sans tâtonner et éviter un grand nombre de problèmes. Deux freelances Stéphane Jais et Adbelmajid Boubrik m ont également épaulé durant les trois premiers mois. Ils sont des anciens d Exalead et ont notamment travaillé sur le cœur du moteur de recherche. Ils ont développé un adaptateur permettant de faire le pont entre les formats d entrée d Exalead et d ElasticSearch. Puis l un a porté les changements dans le site web pour le nouveau moteur, tandis que l autre réfléchissait plus aux problèmes d architecture et de portage des fonctionnalités spécifiques dont nous avions besoin. Les communautés construites autour des solutions OpenSource sont également une source de richesse de contenu, pour Lucene, et réactive via leur salon de discussion sur IRC, pour ElasticSearch. J ai d ailleurs eu le privilège de pouvoir rencontrer Shay Banon, auteur d ElasticSearch, car Yakaz nous a proposé, à Benjamin et moi, de suivre la conférence What s Next sur les nouvelles technologies construites autour de Java, qui se tenait à 5 minutes de nos locaux au Grand Rex. En plus de répondre à certaines de nos interrogations sur la réalisation de certaines fonctionnalités, afin d apprécier leur performances potentielles, nous avons pu nouer un meilleur contact qui sera toujours apprécié pour la suite de notre collaboration, en tant qu utilisateur de son logiciel. Stage de 3 ème année Olivier FAVRE 7

8 Description des technologies impliquées 3 Description des technologies impliquées 3.1 Lucene Présentation Lucene est un moteur de recherche textuel OpenSource, écrit en Java. Très connu, il est utilisé dans un bon nombre de projets. Étant une bibliothèque fournissant des fonctionnalités de base, ce moteur est facilement intégrable dans une application, elle ne nécessite pas de serveur ni obligatoirement de fichiers sur le disque Terminologie Les objets que l on index s appellent des documents. Ils sont constitués d un ou plusieurs champs, totalement arbitraires, éventuellement multi-valués. L index de Lucene répertorie les documents qui possèdent un terme donné, et ce pour chaque terme utilisé. Un terme est rattaché à un champ, ainsi il n y a pas de faux positifs en provenance d un autre champ. Un même terme possède des meta-données pour chaque apparition : position du mot, position exacte en caractères, type (mot, chiffre, idéogramme, etc.), ainsi que des données arbitraires nommées payload. Ces meta-données sont facultatives et les stocker font naturellement grossir la taille de l index. Cependant, noter la position du mot permet de favoriser les documents qui possèdent des termes dans le même ordre ou presque que ceux figurant dans la recherche. Noter la position en caractère permet aussi de pouvoir réaliser une mise en valeur des termes ayant matché avec la requête, comme les extraits avec des passages en gras dans les résultats de Google Requêtage Les requêtes Lucene s expriment avec des objets Java. Elles peuvent s imbriquer et devenir assez complexes, mais cela fait également leur puissance. Par exemple vous pouvez rechercher une combinaison précise de plusieurs termes en combinant des requêtes booléennes de la forme (must, should, must not), ce qui correspond généralement aux préfixes +, (vide) et - des moteurs de recherche. Il existe également des requêtes avec des jokers (wildcards) comme? remplaçant un caractère unique et * en remplaçant zéro, un ou plusieurs ; des requêtes approximatives autorisant les termes matchés à différer plus ou moins des termes recherchés ; des requêtes de proximité, comme décrit précédemment ; des requêtes d intervalle de texte, de date comme de nombres ; et toutes les sous-requêtes peuvent être boostée en multipliant leur sous-score par une constante. Naturellement, Lucene possède un type de requête particulier qui permet d analyser un texte écrit dans un champ de recherche, comme sur Google, et d en générer l imbrication de requêtes Lucene correspondant Autre types de champs Lucene étant un moteur de recherche textuel uniquement, les dates et les champs numériques sont convertis en texte correspondant, en faisant en sorte que le tri alphabétique corresponde au tri numérique. Afin d accélérer l exécution d une requête Stage de 3 ème année Olivier FAVRE 8

9 Lucene Description des technologies impliquées numérique sur un intervalle d entiers de 120 à 1024, plutôt que d énumérer les 905 termes pouvant exister dans l index, on utilise des termes particuliers rajoutés pour exprimer moins de précision (en enlevant 4 bits par défaut). Quand un intervalle contient tous les termes de plus grande précision contenus dans un autre terme plus large, ce dernier est utilisé. Par exemple de 16 à 31, le second groupe de 4 bits (bits de poids 4 à 7) vaut toujours 0001b, un groupement est donc réalisable. Précision Précision Précision Précision Nombre TABLE 1 Représentation binaire des nombres requêtés. Les éléments en italique sont les termes requêtés. En gris foncé figurent les éléments ignorés car un terme de plus faible précision a été utilisé à la place. En gris clair, les termes dont la précision ne nous intéresse pas La requête générée est décrite par l arbre ci-dessous : à à à FIGURE 1 Arbre correspondant aux simplifications effectuées. Les termes requêtés sont en italique. La requête devient donc : 15 termes { }} { termes { }} { termes { }} { Les indices dénotent le niveau de précision du terme. Cette requête n utilise plus que 27 termes. On comprend ainsi, par cet exemple de requête en apparence simple, l importance de bien saisir le mode de fonctionnement du moteur Lucene afin d appréhender les points pouvant être susceptibles de devenir des goulots d étranglement. Stage de 3 ème année Olivier FAVRE 9

10 ElasticSearch Description des technologies impliquées Mapping et consistance De plus, l exemple précédent introduit une autre notion que vous n avez peut-être pas remarqué : si Lucene est un moteur de recherche textuel nous pouvons néanmoins utiliser des caractères arbitraires, c est à dire des données binaires. Il ne faudra cependant pas qu il puisse régner de confusion entre des termes textuels et des termes binaires, ni même sur la transformation appliquée aux données initiales pour obtenir un terme. Nous voyons une contrainte qui émerge ici d elle même : l importance de maîtriser le contenu des champs, c est à dire de se fixer un mapping entre chaque champ et un type de données. Ainsi il convient de ne finalement pas mélanger des valeurs textuelles, temporelles et numériques sous un même nom de champ. 3.2 ElasticSearch Présentation ElasticSearch est une surcouche pour Lucene, qui lui permet un passage à l échelle dynamique et sans accrocs. Sans configuration nécessaire, simple à déployer, il permet de construire une fonctionnalité de recherche basique mais néanmoins puissante en peu de temps. Également écrit en Java, son code est clair et très modulaire. Beaucoup de fonctionnalités supplémentaires sont intégrables sous forme de modules Souplesse de configuration La configuration permet de créer plusieurs index et d en détailler le mapping de ses champs, bien qu il soit également possible de lui lancer des documents qu il indexera à la volée en détectant le type probable des différents champs. En se plongeant dans la configuration du mapping, on peut indiquer si un champ doit être analysé ou avant d être indexé, s il doit être indexé tel quel, ou s il ne doit pas l être du tout. Un champ peut également être stocké ou non. Ces deux choix permettent de diminuer la taille de l index en tirant profit d une connaissance au préalable de l utilisation de chaque champ. Il est également possible de configurer la chaîne d analyse très souple que Lucene propose, à partir de la configuration. On référence ensuite un analyseur ainsi construit dans le mapping des champs. Les meta-données des termes tirés de l analyse peuvent ou non être stockées. C est encore un levier supplémentaire sur le compromis entre la taille de l index et la qualité des réponses et du surlignage des mots ayant matché les termes recherchés. En effet, sans information sur la position des mots on ne peut favoriser les termes dans un ordre proche de celui de la requête originelle, si savoir à quelles positions insérer les balises de surlignement Terminologie Un cluster peut contenir plusieurs index ; un index est également un index Lucene ; un index peut contenir plusieurs types ayant des mappings de champs différents ; Stage de 3 ème année Olivier FAVRE 10

11 ElasticSearch Description des technologies impliquées chaque document est associé à un index et un type, et possède un identifiant unique, éventuellement généré automatiquement ; chaque document est également versionné. L identifiant est un champ Lucene comme un autre, mais il possède un sens particulier dans ElasticSearch. Il est préfixé par le type du document. Ceci permet de pouvoir adapter le traitement des différents champs comme le mapping de chaque type l exige. La version de chaque document sert exclusivement à la résolution des conflits de mise à jour, pouvant survenir étant donné la nature distribuée de la plate-forme. Elle ne permet en aucun cas de récupérer une ancienne version dudit document Aspect distribué Chaque index ElasticSearch étant distribué, il correspond en réalité à plusieurs index Lucene : un par shard. Le nombre de shard d un index est fixé à sa création et ne peut être changé par la suite sans procéder à une réindexation complète manuelle. L identifiant de chaque document est hashé en un entier qui, modulo le nombre de shard, donne le numéro du shard auquel il appartient. C est une technique très fréquente dans le partitionnement des bases de données distribuées suivant le principe shared nothing. Elle possède l inconvénient de changer la quasi-totalité des affectations clé-shard à chaque changement du nombre de shard. Un technique n ayant pas cet inconvénient s appelle Distributed Hash Table, à base de consistent hashing. Un shard est soit maître soit un replica (une copie). Le nombre de replica par shard maître lui, est changeable dynamiquement. L indexation a lieu dans les shards maîtres, la recherche peut avoir lieu indifféremment dans le shard maître ou dans un replica. Régulièrement, les changements apportés au shard maître sont répercutés dans les replicas, soit en y rejouant les requêtes, l analyse des documents est donc réalisée plusieurs fois, soit en transférant les segments de l index Lucene qui ont été impactés. Un replica permet plusieurs choses : augmenter la disponibilité et donc la performance de la recherche, car on peut contacter n importe lequel des replicas pour répartir la charge d une requête ; avoir une tolérance aux pannes, car un replica étant une copie du shard maître, n importe lequel peut être élu shard maître à son tour, si l ancien a été victime d un crash. Il est possible de rajouter aisément de nouvelles machines à un cluster ElasticSearch existant. Il suffit simplement que la nouvelle instance possède le même nom de cluster. Une découverte automatique sera alors réalisée, et le nouveau nœud ElasticSearch sera alors intégré aux autres. La charge de l index ElasticSearch sera répartie de nouveau en déplaçant certain replicas ou même certains shards maîtres vers le nouveau nœud ElasticSearch, en maximisant la répartition et en minimisant la présence des shards maîtres sur une même machine. Un cluster ElasticSearch possède également un nœud maître. Il est chargé d orchestrer la vie et la répartition des shards dans le cluster. Si le nœud maître devient indisponible, les nœuds esclaves en élisent un nouveau parmi eux. Pour résumer, un cluster ElasticSearch est composé de plusieurs machines pouvant faire tourner plusieurs instances d ElasticSearch appelées des nœuds, qui possèdent le même identifiant de cluster. Dans un cluster existe un seul nœud maître. Un index ElasticSearch est découpé en plusieurs shards maîtres. Pour chaque shard maître il existe Stage de 3 ème année Olivier FAVRE 11

12 ElasticSearch Description des technologies impliquées un certain nombre de shard replica. Chaque nœud possède plusieurs shards (maître ou replica). Chaque shard est un index Lucene, correspondant donc à une partie d un index ElasticSearch. Tout ceci est quelque peu complexe, mais dans les faits, cela fonctionne de manière entièrement transparente. On peut s adresser à n importe quel nœud ElasticSearch pour effectuer une indexation, une requête, ou une demande d état du cluster, les redirections nécessaires se font automatiquement Développement Le développement d ElasticSearch a été quasi-intégralement réalisé par l israélien Shay Banon, dixit kimchy. Ce logiciel est plus ou moins indépendant de celui de Lucene, cependant il suit de très près ses changements de version. Certaines fonctionnalités ont été intégralement créées dans ElasticSearch, et ne sont pas disponibles dans Lucene directement. Par exemple, les facettes qui permettent de collecter des informations et autre statistiques sur les valeurs des champs des documents matchés par la requête, existent dans Solr une autre surcouche, officielle, mais pas dans Lucene même. D autre fonctionnalités, comme un log transactionnel, permettant de survivre à un crash sans perdre aucune des opérations en cours, on été intégrées à Lucene après avoir existé presque depuis les débuts d ElasticSearch. Stage de 3 ème année Olivier FAVRE 12

13 4 Le plus gros du travail Le plus gros du travail 4.1 Configuration La configuration n est pas l étape qui prend le plus de temps, surtout en environnement de test. Dans un environnement de cluster, il faut faire attention à bien configurer les capacités d auto-détection des nœuds afin d éviter que plusieurs instances rejoignent le même cluster, mais surtout s assurer que tous les nœuds futurs pourront s y joindre. Il faut veiller à configurer convenablement les nombre de nœuds attendus, le nombre de nœuds minimum ainsi que le temps minimum à attendre pour commencer une récupération du cluster. Il est également possible de configurer la persistance de l index afin d utiliser soit des index en mémoire seulement, soit une persistance en fichiers locaux, ou sur un système de gestion de fichier partagés. 4.2 Analyseurs Les différents analyseurs personnalisés utilisables dans les mappings doivent être définis dans la configuration. Ceci est une étape plutôt longue et délicate. Nous avons une centaine de langue à gérer, pour chacune d entre elles, nous devons utiliser les outils les plus appropriés disponibles dans Lucene. L analyseur par défaut permet de découper les mots de manière convenable pour la plupart des langages européens en ignorant la ponctuation et séparant les mots composés avec des tirets. Il permet de conserver les noms de produits en un seul morceaux, ainsi que les adresses s et les noms d hôtes internet. Après le découpage des mots, les mots sont normalisés en supprimant les «s» finaux et les points des acronymes, et sont également mis en minuscule et certains mots clés sont supprimés. Il existe des analyseurs plus spécifiques pour une trentaine de langages. Certains analyseurs sont également disponibles sur Internet et nécessitent d écrire un plugin pour les adapter à ElasticSearch. Plus de détails sont disponibles dans la section Mapping Nos documents possèdent plus de 200 champs. Certains sont propres à Exalead, d autres ont une structure ou ont été adaptés spécialement pour bien fonctionner avec Exalead, la plupart sont plutôt classiques. Un travail long et fastidieux ainsi que difficile à rendre compte dans un rapport a été nécessaire afin de créer le mapping adapté pour ElasticSearch. Avec Benjamin, nous nous y sommes repris à plusieurs fois. Certains champs textuels devaient rester des mot-clés et ne pas être analysés mais devaient être indexés, d autre en revanche devaient être analysés. Parmi ces deux catégories de champs, certains devaient être disponibles dans une recherche sans avoir à en préciser le champ (dans ElasticSearch, ces champs ont la propriété include_in_all, et leur valeur sont recopiées dans un champ particulier nommé _all). Certains champs n ont pas vocation a être indexés car ils ne seront utiles qu une fois le document récupéré. Stage de 3 ème année Olivier FAVRE 13

14 Développement de modules Le plus gros du travail Certains champs comportent des données numériques, d amplitude variable et donc pouvant bénéficier d optimisations diverses sur le nombre de termes de plus faible précision à indexer. Le défaut d un pas de 4 bits de précision, décrit dans les requêtes numériques Lucene, est effectivement configurable, et la taille de l index ainsi que la rapidité de requêtage en sont affectés. Enfin, certains champs sont hiérarchiques et chaque niveau, avec ses ancêtres, doivent être indexés séparément pour permettre un requêtage séparé et un calcul de statistique différencié. Ceci est géré de base par Exalead, mais le découpage nécessite un analyseur particulier pour Lucene. 4.3 Développement de modules Exalead et ElasticSearch n ayant pas les mêmes particularités, des développements ont naturellement été nécessaires. Certains ont été fait en amont, avant la construction du document JSON, car temporaires, d autre en revanche ont été réalisés sous forme de plugins ElasticSearch, car les adaptations ne devraient pas altérer la forme du document, mais plutôt les traitements qui sont effectués dessus par ElasticSearch. Je décris ici quelques uns de ces développements, d autres, plus spécifiques aux types de données manipulées en interne ne sont pas explicités Expressivité du champ de recherche La chaîne de recherche ne s écrit pas de la même façon dans Lucene que dans Exalead pour effectuer une recherche numérique sur un intervalle. Exalead utilise une syntaxe très naturelle «champ>=valeur» alors que Lucene utilise plutôt «champ:[valeur TO *]». On retrouve l utilisation de la première forme en dehors des classes propres à Exalead dans le code source, il me fallait trouver un moyen pour la faire comprendre à ElasticSearch En route vers une contribution En recherchant sur Internet, je n ai trouvé aucune solution. Plutôt que de me pencher sur un pré-traitement de la chaîne de recherche transformant la première syntaxe en la seconde, j ai préféré regarder du côté du travail de la communauté Lucene. J ai trouvé le ticket LUCENE-1823 dans leur site de gestion des développements, qui avait été créé il y a 2 ans, à l activité très disparate. Mais ce ticket est encore ouvert et fait en fait référence à plusieurs autres patchs. Parmi la wishlist figure «3. Improved RangeQuery syntax : Use more intuitive <=, =, >= instead of [] and {}.», mais aucun patch n avait été proposé. Je me suis donc chargé de cette tâche et ait créé deux patchs pour le ticket LUCENE-3343 que j ai alors ouvert : un pour la version prochaine 3.4 de Lucene, un pour la version future 4.0. Cependant, je ne voulais pas modifier la version de Lucene qu ElasticSearch utilise. J ai préféré opter pour la création d un plugin à part entière. J ai ainsi créé un projet copiant Lucene, en le débarrassant de tout élément superflu non modifié, j ai changé le nom du package et de certaines classes pour éviter les conflits, et j ai recompilé le tout pour me fournir un nouveau module Jar pour Lucene. Il m a suffit de copier l adaptation déjà réalisée dans ElasticSearch pour l adapter afin qu il utilise mon nouveau module Lucene à la place du module dans le cœur de la bibliothèque. Stage de 3 ème année Olivier FAVRE 14

15 Développement de modules Le plus gros du travail Analyse avancée des champs textuels Exalead permet d indexer une forme exacte, une forme normalisée ainsi qu une forme lemmatisée de chaque mot. Chacune de ses forme ayant moins de poids que la précédente. Ceci permet de favoriser une correspondance plus exacte sur l orthographe d un mot par rapport à une correspondance par un détour plus important. C est une méthode très intéressante qui n existe malheureusement pas dans Lucene. S il est effectivement possible et géré de sortir plusieurs termes à la même position pour un même mot en entrée, le filtre de synonymes est le seul élément d analyse existant qui permette de le faire, et ça n est clairement pas l outil le plus adapté. Il n est pas possible avec Lucene de combiner le résultat de plusieurs analyseurs. Il est en revanche possible de dédoubler un champ afin qu il subisse plusieurs analyses différentes sous ElasticSearch. Cependant avec cette méthode, il est impossible d effectuer une recherche de conjonction (et logique) de plusieurs termes l utilisation d une disjonction (ou logique) n étant pas intéressant car elle à pour effet de faire remonter de plus en plus de résultats au fur et à mesure que l utilisateur précise sa recherche en rajoutant des mots. C est un défaut que je devais régler pour assurer le bon fonctionnement de notre recherche En route vers une seconde contribution Ayant déjà expérimenté la création d analyseurs dans mon dernier stage, j avais déjà une idée précise de ce qu il fallait que je fasse. Dans Lucene, un Analyzer est un objet qui renvoie un flux de termes à partir d un nom de champ et d une source de texte. Un flux de terme est créé par un Tokenizer qui découpe une source de texte en flux d attributs décrivant les termes successifs. Une seconde manière d obtenir un flux de terme, est d appliquer un filtre via un TokenFilter, afin d en modifier les attributs, mais également de pouvoir créer ou supprimer certains termes. J ai besoin de créer un Analyzer qui puisse créer à son tour plusieurs flux de termes à partir de sous-analyzers, et qui les regroupe au final en un seul flux, si possible ordonné d une façon naturelle position du mot croissante puis position en caractères croissante puis conservation éventuelle du sous-analyseur source pour conserver une séquence de termes à une même position afin d éviter des bugs potentiels sur d autres composants de la chaîne d analyse parmi laquelle notre analyseur figure éventuellement. Plusieurs obstacles se sont dressés. Le premier est qu une source ne peut être dupliquée à moins de la lire entièrement et de la stocker pour créer ultérieurement plusieurs sources, une par sous-analyseur. J ai développé une optimisation à ce cas le plus défavorable : pour un StringReader (et pour quelques autre classes), de loin la plus utilisée dans Lucene en interne, il est possible d accéder au champ interne déclaré par le JRE de Sun en mettant à profit l API de reflexivité de Java, évitant ainsi une duplication fastidieuse et coûteuse. Une autre optimisation est de déballer (unwrap) un Reader caché à l intérieur d un BufferedReader afin de pouvoir trouver une éventuelle optimisation adaptée au Reader interne. Stage de 3 ème année Olivier FAVRE 15

16 Développement de modules Le plus gros du travail Le système d optimisation doit pouvoir s appliquer seul, de manière dynamique en fonction des types rencontrés. Ainsi, à base de tables d association entre un type et un cloneur ou un déballeur, en utilisant le type parent quand le sous-type n est pas reconnu, j ai construit une factory de cloneur de Reader, à grand coup de généricité et de binding. Le second obstacle était plus du domaine de la formalité en comparaison. Beaucoup de choses dans Lucene sont faites pour être réutilisable afin d éviter d allouer trop d objets inutilement. Les analyseurs en faisant partie, j ai également tenté de détecter lorsque c était le cas, afin de ne pas ruiner ces optimisations et de réutiliser les objets que j ai moi-même créé. À la clé, plusieurs problèmes de thread safety doivent être gérés. Les attributs de termes sont également de cette catégorie. Ainsi le consommateur d un flux de termes récupère une unique instance de chaque type d attribut, et en lit la valeur, mise à jour après chaque obtention d un nouveau terme. Il m est alors impossible de renvoyer les attributs provenant de mon sous-analyseur actuel. Une détection de présence et une recopie manuelle se sont avérées nécessaires, fort heureusement, la chose a plus ou moins été prévue dans Lucene. À l heure où j écris ces lignes, je n ai malheureusement aucune nouvelle de l ajout de fonctionnalité proposé à la communauté : LUCENE Je suis conscient que ce patch, avec son module d optimisation, ne sera pas accepté de façon immédiate. Mais je suis persuadé d avoir implémenté la solution la moins pire, une autre ayant nécessité un refactoring massif de code et provoqué un changement d API majeur ayant des répercussions pour tout utilisateur de l indexation de Lucene. Ici encore, j ai implémenté ceci sous la forme d un plugin ElasticSearch. J ai d ailleurs commencé par expérimenter cette fonctionnalité comme cela. Voici le ticket que j ai ouvert pour ElasticSearch : https://github.com/elasticsearch/elasticsearch/ issues/ Requête sur une phylogénie D une manière similaire à l optimisation réalisée dans Lucene sur le requêtage des nombres, nous avons une structure de donnée particulière décrivant un arbre de chaînes de caractères, que nous pouvons requêter avec un formalisme particulier : abcd abefg abefhi abj 1:a 2:b 3:c 4:d 1:a 2:b 3:e 4:f 5:g 1:a 2:b 3:e 4:f 5:h 6:i 1:a 2:b 3:j abcd abefg abefhi abj ab {cd ef {g hi} j} (2) ab {cd ef {g hi} j} 1:a 2:b 3:c 4:d 3:e 4:f { 5:g 5:h 6:i 3:j (3) Stage de 3 ème année Olivier FAVRE 16 (1)

17 Intégration Le plus gros du travail La relation 1 montre une façon naïve de requêter 4 mots donc chaque lettre devient un terme constitué de sa position et de la lettre. Il y a 18 termes, dont beaucoup sont regardés plusieurs fois. La relation 2 est une réécriture que nous utilisons en interne. La plupart du temps, les phylogénies sont bien plus complexes, dans cet exemple la différence apportée par l optimisation suivante n est encore que faible. Fort de cette réécriture, la relation 3 montre la construction d une requête booléenne optimisée, ne requêtant que 10 termes, sans doublons. c d g a b e f h i j FIGURE 2 La phylogénie correspondant à la requête optimisée. Le parcours en profondeur s effectue avec des et logiques tandis que le parcours en largeur s effectue avec des ou logiques. Cette optimisation est effectivement intéressante sur des phylogénies conséquentes car aucune optimisation n est réalisée par ElasticSearch ou par Lucene sur une requête booléenne du genre a a ou a a. 4.4 Intégration Traitement des workunits d entrée L indexation d Exalead fonctionne en surveillant un dossier où sont déposées des archives compressées contenant chaque document décrits en XML. Ils appellent workunit ces archives et corporate document ces éléments à indexer. Or ElasticSearch dispose seulement d une interface HTTP via laquelle il faut envoyer des documents JSON. Un développement a donc été nécessaire afin de permettre l indexation des annonces. Stéphane et Majid ont pris en main son développement dès le premier jour de leur mission, alors que je me formais sur ElasticSearch. L outil développé est un démon Java surveillant un répertoire, extrayant chaque corporate document de la workunit avant de les parser et de construire l objet JSON correspondant. Certains champs nécessitent un pré-traitement, comme l extraction de coordonnées GPS à partir d un champ ayant été encodé d une manière à satisfaire les contraintes d Exalead, ElasticSearch pouvant effectuer plusieurs traitement intéressants avec ce genre de données. Ayant acquis une bonne connaissance du moteur d indexation, j ai pu guider le développement en partie ainsi que corriger des bugs trouvés en testant l indexation. J ai surtout amélioré l aspect parallélisation en modifiant le code, ainsi que le transfert FTP pour utiliser un répertoire temporaire suivi d un déplacement atomique, pour se soustraire à un appel coûteux à la commande lsof qui vérifie si un fichier est actuellement utilisé par un autre processus. Ceci afin d augmenter les performances en indexation et saturer ElasticSearch pour le pousser dans ses derniers retranchements. Stage de 3 ème année Olivier FAVRE 17

18 Intégration Le plus gros du travail Cet outil est normalement temporaire. En effet, les machines réalisant l analyse des annonces peuvent dorénavant directement envoyer le document construit à l indexeur, pour peu qu il soit en JSON. Dans les faits, une grande partie de la chaîne de crawling et d analyse est effectuée grâce aux technologies d Exalead, et a été modifiée en grande partie par nos soins. Ainsi, les corporate documents sont créés en amont de la chaîne de traitement et enrichis au fur et à mesure. Il sera donc plus difficile de s en séparer Front Le site web PHP est assez modulable, il a donc été facile de basculer vers l utilisation d autres classes pour changer le moteur de recherches à utiliser. En revanche, l intégration de ce dernier est plus longue. Il faut mapper chaque fonctionnalité pour réaliser l équivalent avec ElasticSearch. Ce dernier possède un langage d expression des requêtes très modulable et très fournis, axé sur une imbrication hiérarchique de plusieurs éléments de requête exprimés également en JSON. Ces requêtes sont plutôt verbeuses et la quasi totalité de la configuration s effectue en leur sein. Exalead au contraire utilise des requêtes totalement plates et dont une bonne partie de la configuration s effectue au préalable dans une page d administration. La construction des requêtes a donc nécessité beaucoup d efforts, et je m y suis repris à plusieurs fois car il n est pas aisé d obtenir des résultats aussi bons que ceux qu Exalead parvient à fournir, après plusieurs années d utilisation et d ajustements réalisés en interne. Cela fait plus de cinq ans que cette technologie a été utilisée exclusivement. Comme nous avons pu le constater, une partie de la logique qui y était propre a fini par glisser dans d autres classes du code du site web, rendant l intégration encore un peu plus difficile Module de présence En profitant d une refonte de l architecture logicielle, on m a demandé d évaluer la faisabilité d une nouvelle fonctionnalité. Nous voulons pouvoir mettre plus en avant les annonces postées par les personnes actuellement en ligne sur notre système de chat sur le site, ainsi que les annonces postées par les contacts du client effectuant une recherche. La seconde partie est facile à implémenter en rajoutant une condition facultative aux requêtes, ayant pour effet de booster le score des annonces ayant pour auteur une personne figurant parmi une liste définie. La première partie en revanche s annonce plus complexe, car il n est pas réaliste d attacher l immense liste des personnes connectées à chaque requête. Tout d abord, il me faut vous décrire la façon dont nous pouvons être notifiés de la présence ou de l absence d un utilisateur. Notre système de chat utilise le protocole XMPP servi par un serveur ejabberd dans lequel nous avons déjà implémenté un module de listage et de notification des personnes connectées par opposition à la liste des personnes figurant dans une chatroom, car il est inutile est surtout coûteux en terme d échanges réseau d inscrire systématiquement chaque utilisateur dans un tel salon de discussion factice. Ainsi il suffit de créer un client particulier qui se connecte au serveur Stage de 3 ème année Olivier FAVRE 18

19 Validation Le plus gros du travail de chat et qui s inscrit à ces notifications, pour pouvoir reconstruire une liste tenue à jour des utilisateurs connectés. La première approche que j ai testé consiste à créer un composant à ElasticSearch qui se connecterait au serveur et maintiendrait une telle liste, ainsi qu un nouveau type de requête qui pour chaque document retourné par la requête principale, récupère les auteurs et teste leur existence dans ladite liste, avant d augmenter ou non leur score. Cette approche s est avérée désastreuse en terme de temps de traitement : il fallait une quarantaine de minutes pour l examen de près de 9 millions de résultats retournés par la requête principale. Le goulot d étranglement réside entièrement dans la récupération de la valeur du champ auteur pour un nombre très important de documents. Une seconde approche, proposée par Majid, consiste à tirer parti d une requête particulière d ElasticSearch : on effectue une recherche sur des documents fils, elle nous retourne les documents pères correspondants. De cette manière, nous sommes obligés de tester la présence d un document fils pour chaque annonce, et de booster le score des annonces correspondantes. Nous avons donc la tâche de créer un service externe car les annonces sont réparties entre les différents nœuds du cluster qui maintient la liste des personnes connectées, et qui, pour chaque changement de statut, liste les identifiants des annonces de ladite personne, et commande soit la création d autant de document fils, soit la destruction des documents fils rattachés. En utilisant cette solution, on est capable de continuer à servir les recherches, tout en pouvant gérer plus de 60 changements d états par seconde, pour une moyenne de 10 annonces par personne. Ces performances lors de la recherche sont également dues à l utilisation de l index. 4.5 Validation Cette étape ultime n a pas encore été réalisé, faute de temps. Cette section se limitera simplement à une description de ce qu il est envisagé de faire Comparaison des résultats Afin de s assurer que notre travail est fructueux, il convient d en tester les résultats. En programmation les tests unitaires sont fait pour cela. Ici cependant nous sommes en quelque sorte un peu un niveau au dessus, mais la philosophie des tests reste la même : on fournit une entrée, des traitements à effectuer, cela donne un résultat, et nous en analysons la conformité avec un résultat pré-établit. L entrée consiste en un ensemble de documents à indexer, avec un mapping associé éventuel, la plupart du temps le mapping longuement travaillé que nous utilisons sur nos annonces. À cette entrée doit correspondre une instance d ElasticSearch, la plus fraîche possible. Nous allons donc déployer, exécuter et détruire une instance pour chaque test. La facilité de déploiement d ElasticSearch est grandement appréciée ici. À la fin de l indexation, il ne faut pas oublier un appel de l opération refresh, afin que les documents indexés soient immédiatement accessibles à la recherche. Les traitements sont une série de requêtes JSON a jouer auprès de l instance d ElasticSearch de test. Ces requêtes peuvent aussi bien être de la recherche que des ordres de suppression ou autre. Stage de 3 ème année Olivier FAVRE 19

20 Déploiement Le plus gros du travail Chaque traitement renvoie une réponse JSON. Une analyse poussée à lieu ici. Nous allons vérifier le nombre de résultats trouvés, ainsi que l ordre d apparition de chaque document, voire son score, bien que ce dernier n ait au final aucune importance pour l utilisateur. En fonction de la divergence des résultats avec ceux attendus, nous donnerons une statistique de qualité. Nous ne sommes effectivement pas dans une optique manichéenne qui voudrait qu une seule réponse ne soit bonne. Parmi les test de conformité seront relevée la présence de tous les champs nécessaires, et des champs supplémentaires. L absence d expiration de délai à la recherche sera également important lorsque l on voudra s assurer que le moteur est capable de répondre dans des temps minimes. Un autre critère sera relevés pour un suivit. Il s agit du temps de réponse à l indexation et à la recherche. Tout ceci pourra être réalisé dans l environnement de test de Jenkins, que nous utilisons déjà en interne. 4.6 Déploiement Naturellement, cette étape n a pas encore été réalisée non plus. Cette section présente le fruit d une réflexion avec Abdelmajid Boubrik, Stéphane Jais, Benjamin Devèze, Frédéric Mahé et moi même. Avant d envisager un déploiement, il faut d abord dimensionner l architecture nécessaire. Nous avons jusqu ici tenté de conserver une taille d index raisonnable pour pouvoir tourner sur un cluster de 8 machines possédant chacune une grappe de disques SSD d un total de 640 Go et 96 Go de mémoire vive. Chaque machine coûte environ e. Il n est cependant pas exclu de passer à un nombre beaucoup plus important de machine de moyenne gamme. Si ElasticSearch fonctionne toujours mieux avec une grande quantité de mémoire vive, il n a cependant pas besoin de tourner sur un serveur haut de gamme. Tout cela reste quand même à valider, peut être en créant un cluster sur nos machines de travail afin d avoir une meilleure idée des ressources nécessaires. Le début de la migration peut s effectuer de deux manières : dérouter une partie du trafic vers le nouveau cluster, ou migrer tout un pays à la fois. La première méthode présente l avantage de minimiser l impact d un problème éventuel, et de pouvoir effectuer une transition progressive en augmentant petit à petit la quantité de trafic à dérouter. Cependant il faut définir les critères de façon à ce que l expérience d une client ne soit pas perturbée. De même, il est coûteux d indexer une grande quantité de document, nous devons donc nous assurer qu elle serve, ou en indexer moins. Il est délicat de savoir, a priori, quels documents sont susceptibles d intéresser quels utilisateurs sans faire d erreurs. La solution commence à devenir un peu complexe pour valoir le coup en tant que traitement provisoire. La seconde méthode permet une distinction claire sur les requêtes à intercepter : celles qui ne sont effectuées que dans un seul pays, si ce pays figure parmi une liste fixée. L expérience utilisateur peut éventuellement varier si il recherche successivement dans un pays géré par Exalead et dans un pays géré par ElasticSearch, mais cela devrait rester minime et peu dérangeant. Si un problème survient, en revanche, il faudra être très réactif pour repasser le trafic sur Exalead. Nous pouvons cependant commencer par migrer les pays pour lesquels nous avons le moins d annonce et de trafic, avant Stage de 3 ème année Olivier FAVRE 20

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

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

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

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site? SEO On-page Avez-vous mis toutes les chances de votre côté pour le référencement de votre site? I. Introduction... p.2 II. Optimisation on-page vs off-page... p.3 III. Les éléments importants de vos pages...

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

Manuel d utilisation de l outil collaboratif

Manuel d utilisation de l outil collaboratif Manuel d utilisation de l outil collaboratif Réf OCPD-V2 Page 1 / 24 a mis en œuvre un outil collaboratif qui permet de partager des informations entre collaborateurs. Il permet à des utilisateurs travaillant

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

Libérez votre intuition

Libérez votre intuition Présentation de Qlik Sense Libérez votre intuition Qlik Sense est une application nouvelle génération de visualisation de données en libre-service qui permet à chacun de créer facilement des visualisations

Plus en détail

RITUNE. Logiciel pour optimiser la consommation énergétique et les ressources dans les stations d épuration en s appuyant sur tous les processus

RITUNE. Logiciel pour optimiser la consommation énergétique et les ressources dans les stations d épuration en s appuyant sur tous les processus RITUNE Logiciel pour optimiser la consommation énergétique et les ressources dans les stations d épuration en s appuyant sur tous les processus «ENTRE 10 ET 25 % DES RESSOURCES QUI SONT NÉCESSAIRES DANS

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015

Recueil des Fiches Concepteurs : Mise en œuvre d un site SharePoint 2013 Juin 2015 Recueil des s s : Mise en œuvre d un site SharePoint 2013 Juin 2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013. NADAP et SharePoint

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

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

Gestionnaire de Sauvegarde

Gestionnaire de Sauvegarde d Utilisation Version 1.5 du 26/12/2011 d utilisation de l application de sauvegarde Actu-pc Sommaire Introduction... 3 Installation et mise en place du logiciel... 3 Pré-requis... 3 Démarrage de l installation...

Plus en détail

Les modèles technologiques de la localisation

Les modèles technologiques de la localisation Les modèles technologiques de la localisation Les modèles technologiques de la localisation Cécile Martin Université Rennes 2 Avant d entrer en détails dans les modèles technologiques de la localisation,

Plus en détail

WordPress : Guide à l édition

WordPress : Guide à l édition WordPress : Guide à l édition WordPress : Guide à l édition... 1 Présentation... 2 1. Accès au site... 2 2. Le tableau de bord... 2 3. Editez les contenus... 4 Quelle est la différence entre les pages

Plus en détail

Mode d emploi du site Showbook

Mode d emploi du site Showbook Mode d emploi du site Showbook Showbook.fr Version 0.4.7 Bêta 1 Table des matières Présentation... 4 Inscription sur Showbook... 4 Première utilisation... 5 Statuts des membres... 5 Le menu principal...

Plus en détail

Manuel de l'utilisateur

Manuel de l'utilisateur Manuel de l'utilisateur Intego NetUpdate - Manuel de l utilisateur Page 1 Intego NetUpdate pour Macintosh 1999-2004 Intego. Tous droits réservés. Intego - 10, rue Say - 75009 Paris, France www.intego.com

Plus en détail

Manuel du logiciel PrestaTest.

Manuel du logiciel PrestaTest. Manuel du logiciel. Ce document décrit les différents tests que permet le logiciel, il liste également les informations nécessaires à chacun d entre eux. Table des matières Prérequis de PrestaConnect :...2

Plus en détail

Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche?

Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche? 9 Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche? Le trafic d un site internet Le référencement naturel Les freins

Plus en détail

Hands-On Workshop Elasticsearch

Hands-On Workshop Elasticsearch Hands-On Workshop Elasticsearch MAI 2015 Stack ELK, quoi de neuf? Oxalide 25 boulevard de Strasbourg 75010 Paris France 01 75 77 16 66 Paris - 26 mai 2015 - Hôtel Renaissance de La Défense à Paris : "Hands-on

Plus en détail

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens Année académique 2009 2010 1 Introduction Ce projet est le premier d une série de quatre projets qui ont

Plus en détail

Partie 4 Créer des parcours pédagogiques

Partie 4 Créer des parcours pédagogiques Partie 4 Créer des parcours pédagogiques Un parcours pédagogique est une séquence d'apprentissage découpée en sections contenant ellesmêmes des activités ou objets d apprentissage. Il peut être organisé

Plus en détail

Installation de Windows XP www.ofppt.info

Installation de Windows XP www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail XP DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC XP Sommaire 1 Introduction... 2 2 Vérification de la

Plus en détail

Thibault Denizet. Introduction à SSIS

Thibault Denizet. Introduction à SSIS Thibault Denizet Introduction à SSIS 2 SSIS - Introduction Sommaire 1 Introduction à SQL Server 2008 Integration services... 3 2 Rappel sur la Business Intelligence... 4 2.1 ETL (Extract, Transform, Load)...

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur.

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur. TP PERSONNALISER SON POSTE DE TRAVAIL LES COMPTES, LES GROUPES C'EST QUOI? Les comptes et les groupes permettent de gérer plus facilement l administration d une machine. Il semble assez logique que sur

Plus en détail

MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE

MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE MODELE D UN RAPPORT DE STAGE DE BAC PRO ELECTROTECHNIQUE [Prénom Nom] Rapport sur le stage effectué du [date] au [date] Dans la Société : [NOM DE LA SOCIETE : Logo de la société] à [Ville] [Intitulé du

Plus en détail

2012 - Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

2012 - Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur Arsys Backup Online Guide de l utilisateur 1 Index 1. Instalation du Logiciel Client...3 Prérequis...3 Installation...3 Configuration de l accès...6 Emplacement du serveur de sécurité...6 Données utilisateur...6

Plus en détail

Maîtriser la diffusion de son catalogue e-commerce

Maîtriser la diffusion de son catalogue e-commerce Maîtriser la diffusion de son catalogue e-commerce Lorraine Un site marchand est sans cesse en recherche de moyens pour développer son activité. Au-delà de l optimisation de la boutique, il est possible

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Administration du site

Administration du site Administration du site 1 TABLE DES MATIÈRES Administration du site... 1 Accéder à la console d administration... 3 Console d administration... 4 Apparence... 4 Paramètres... 5 Allez sur le site... 5 Edition

Plus en détail

Valoriser vos bases de connaissances avec AMI Help Desk. AMI Enterprise Discovery version 3.9

Valoriser vos bases de connaissances avec AMI Help Desk. AMI Enterprise Discovery version 3.9 Valoriser vos bases de connaissances avec AMI Help Desk AMI Enterprise Discovery version 3.9 Février 2005 Sommaire 1 Objectifs d AMI Help Desk...3 2 Principes de fonctionnement...3 2.1 Mode de travail

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Le guide du référencement Avec WebGazelle CMS 2.0

Le guide du référencement Avec WebGazelle CMS 2.0 Fiche Outil : Référencement Avec WebGazelle CMS 2.0 Le guide du référencement Avec WebGazelle CMS 2.0 Le guide du référencement avec WebGazelle CMS 2.0 1/10 SOMMAIRE 1 PRESENTATION GENERALE... 3 2 LES

Plus en détail

Philosophie des extensions WordPress

Philosophie des extensions WordPress 8 Philosophie des extensions WordPress Le concept L une des forces de WordPress dans la jungle CMS, c est la simplicité de création d extensions. Il y a plusieurs raisons à cela. Des raisons techniques

Plus en détail

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012 GUIDE MEMBRE ESPACE COLLABORATIF Février 2012 Ce document est disponible sur le site WEB de l Agence de la santé et des services sociaux de la Montérégie, à l adresse suivante : http://extranet.santemonteregie.qc.ca/userfiles/file/espace-collabo/2012-02-04guide-membre-espace-collaboratif.pdf

Plus en détail

Mise en œuvre d un Site Sharepoint-V1

Mise en œuvre d un Site Sharepoint-V1 Mise en œuvre d un Site Sharepoint- MAJ 20/01/2015 Ce document décrit le paramétrage pour la mise en œuvre des fonctionnalités standard de Microsoft SharePoint 2013 NADAP et SharePoint NADAP ( Nouvelle

Plus en détail

Guide Reseller Onbile

Guide Reseller Onbile Guide Reseller Onbile Cher Revendeur, Avez-vous un doute en ce qui concerne le fonctionnement du Panneau d Administration du Plan Reseller de Onbile? Le guide Reseller Onbile est ce dont vous avez besoin!

Plus en détail

Classilio Via 8 est l outil le plus simple et le plus facile à utiliser grâce à ses nouvelles fonctionnalités!

Classilio Via 8 est l outil le plus simple et le plus facile à utiliser grâce à ses nouvelles fonctionnalités! L équipe CLASSILIO est très fière de vous présenter sa toute nouvelle génération d outil de classe virtuelle/webconférence/webinar. En effet, Classilio Via 8 est la plus grosse évolution de notre outil

Plus en détail

MODULES 3D TAG CLOUD. Par GENIUS AOM

MODULES 3D TAG CLOUD. Par GENIUS AOM MODULES 3D TAG CLOUD Par GENIUS AOM 1 Sommaire I. INTRODUCTIONS :... 3 II. INSTALLATION MANUELLE D UN MODULE PRESTASHOP... 3 III. CONFIGURATION DU MODULE... 7 3.1. Préférences... 7 3.2. Options... 8 3.3.

Plus en détail

Les tableaux. Chapitre 3

Les tableaux. Chapitre 3 Chapitre 3 Les tableaux 3.1 Généralités Les tableaux en PERL sont identifiés par le symbole @ à l image du $ pour les variables. Comme ces dernières, les tableaux ne sont pas typés et un même tableau peut

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

Notre offre Système. systemes@arrabal-is.com

Notre offre Système. systemes@arrabal-is.com systemes@arrabal-is.com Généralités Généralités des systèmes Windows Les systèmes Microsoft sont au cœur du système d information de la majorité des entreprises, si bien qu environ 90% des postes utilisateurs

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Page 1/11. Préambule. Table des matières

Page 1/11. Préambule. Table des matières Page 1/11 Table des matières Préambule... 1 1- Le principe de «NuaFil»... 2 2 - Accueil de votre gestion de profil... 2 2-1 - La recherche de profils... 3 2-2- La liste de vos profils... 3 3 - Le référencement

Plus en détail

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

Auto-formation «messagerie instantanée» Configuration avancée

Auto-formation «messagerie instantanée» Configuration avancée Auto-formation «messagerie instantanée» Table des matières 1 INTRODUCTION... 2 2 OPTIONS -> EVENEMENTS... 3 2.1 AFFICHAGE DES MESSAGES... 3 2.2 ENVOI DE MESSAGES... 4 2.3 IGNORER... 5 2.4 NOTIFICATION

Plus en détail

Utilisation du client de messagerie Thunderbird

Utilisation du client de messagerie Thunderbird Outlook express n existant plus sur les systèmes d exploitation sortis après Windows XP, nous préconisons désormais l utilisation du client de messagerie libre distribué gratuitement par la Fondation Mozilla.

Plus en détail

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr Manuel d utilisation de la messagerie http://zimbra.enpc.fr ÉCOLE DES PONTS PARISTECH/ DSI JANVIER 04 SOMMAIRE. Connexion à la messagerie.... Présentation générale de l écran d accueil.... Déconnexion...

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

Notice d utilisation

Notice d utilisation Notice d utilisation Gestion des Dossiers et des Bases de Données Sommaire Préambule 1. Accès à la gestion des Dossiers et des Bases de Données 1.1 Accès «Ecole» 1.2 Accès «Entreprise» 1.3 Modification

Plus en détail

UNIVERSITE DE LORRAINE CALCIUM

UNIVERSITE DE LORRAINE CALCIUM UNIVERSITE DE LORRAINE CALCIUM Outil pour la gestion des dossiers médicaux des étudiants dans les services universitaires de médecine préventive Table des matières CALCIUM... 0 I. L INFORMATION GÉRÉE PAR

Plus en détail

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows

[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows Ce dossier a une forme un peu différente des précédentes : c est un ensemble de «fiches» décrivant chacune une des opérations que l on peut effectuer avec un fichier (enregistrer, renommer, etc.). Chaque

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

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15

édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe 15 Table des matières Au sujet de l auteur 1 Introduction 3 édition revue et corrigée avec Java SE 7 7 1 Les bases 11 Compiler un programme Java 13 Exécuter un programme Java 14 Définir le chemin de classe

Plus en détail

Infolettre #6: SkyDrive

Infolettre #6: SkyDrive Infolettre #6: SkyDrive Table des matières AVANTAGES DE SKYDRIVE 2 DÉSAVANTAGES DE SKYDRIVE 2 INSCRIPTION AU SERVICE 2 MODIFIER VOTRE PROFIL 4 AJOUTER UN DOSSIER 5 AJOUTER DES FICHIERS DANS LE DOSSIER

Plus en détail

Module Devis Guide d intégration et d utilisation Version 2.2

Module Devis Guide d intégration et d utilisation Version 2.2 Module Devis Version 2.2 1. Présentation... 2 2. Installation / Intégration... 2 2.1 Installation générale... 2 2.2 Mise à niveau de Magento... 3 2.3 Interférence avec les autres modules... 3 3. Module

Plus en détail

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013 Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières

Plus en détail

La gestion des doublons

La gestion des doublons fims.informatique@skynet.be 01.10 10.02 N 3 La gestion des doublons Dans la plupart des bases de données, les doublons sont souvent inévitables. Il est parfois complexe de les gérer car les informations

Plus en détail

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs

Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs Offre FlowUnit by CGI Tests automatisés de flux de données inter-applicatifs CGI Group Inc. 2013 Agenda 1 2 3 4 5 6 7 Problématiques et enjeux Solutions et fonctionnalités Concepts Exécution et rapport

Plus en détail

CELCAT est un leader mondial de la gestion d emploi du temps et du suivi de l assiduité des étudiants dans l enseignement supérieur.

CELCAT est un leader mondial de la gestion d emploi du temps et du suivi de l assiduité des étudiants dans l enseignement supérieur. CELCAT Timetabler Le gestionnaire interactif d emploi du temps CELCAT est un leader mondial de la gestion d emploi du temps et du suivi de l assiduité des étudiants dans l enseignement supérieur. Notre

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

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

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Annexe I. Passage de la version 2.xx à 3.xx

Annexe I. Passage de la version 2.xx à 3.xx Annexe I Passage de la version 2.xx à 3.xx 14 Passage de la version 2.xx à la version 3.xx Principes de base Cete section indique les étapes à suivre pour passer de version 2.xx à la version 3.xx. De façon

Plus en détail

I Open Résa. Sommaire :

I Open Résa. Sommaire : I Open Résa Sommaire : I Open Résa... 1 Définition :... 2 Identification... 3 Création d un nouveau dossier :... 8 Première méthode :... 10 Seconde méthode :... 10 Ajout d éléments à la proposition :...

Plus en détail

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 Table des matières. CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 QUE SONT LES DISQUES DE BASE ET LES DISQUES DYNAMIQUES? 6 FORMATAGE DES DISQUES ET

Plus en détail

PROSPECTION R.C.P.A. Principe de prospection du R.C.P.A. 1. Prise de RDV par téléphone 2. RDV Terrain

PROSPECTION R.C.P.A. Principe de prospection du R.C.P.A. 1. Prise de RDV par téléphone 2. RDV Terrain PROSPECTION R.C.P.A. Principe de prospection du R.C.P.A. 1. Prise de RDV par téléphone 2. RDV Terrain PROSPECTION TELEPHONIQUE POUR PRISE RDV Barrage secrétaire Interlocuteur PREPARATION DU RDV Etape 1

Plus en détail

Moteur de recherche le plus connu, Google offre nombre. 1. Maîtriser la recherche d informations

Moteur de recherche le plus connu, Google offre nombre. 1. Maîtriser la recherche d informations 1. Maîtriser la recherche d informations Moteur de recherche le plus connu, Google offre nombre d outils qui vous permettront de trouver l information que vous recherchez, en quelques clics, et ce, qu

Plus en détail

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal _ PARAMETRE DU COMPTE 1 ere Etape «Créer un compte principal» - Créer un compte principal (Uniquement Compte FTP). Créer un compte secondaire -Créer un compte secondaire (Uniquement Compte FTP). Ouvrir

Plus en détail

Utilisation du CMS Ametys

Utilisation du CMS Ametys Utilisation du CMS Ametys jeudi 16 septembre 2010 jeudi 14 octobre 2010 J.L. Aucouturier CMS? Ametys? Ametys est un logiciel open source destiné à la production de sites Web, de type système de gestion

Plus en détail

Fiche de lecture de PFE Guillaume HEMMERTER

Fiche de lecture de PFE Guillaume HEMMERTER 1. INTRODUCTION Les maîtres d ouvrage ou propriétaires de patrimoine immobilier qui s engagent dans la construction ou la rénovation d installations climatiques veulent avoir la certitude d obtenir le

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Félicitations! Vous disposez désormais de votre armoire numérique en ligne.

Félicitations! Vous disposez désormais de votre armoire numérique en ligne. Félicitations! Vous disposez désormais de votre armoire numérique en ligne. Cette armoire va vous permettre : De mieux classer vos documents De mieux les retrouver De mieux les partager Ce petit guide

Plus en détail

MYXTRACTION. 2009 La Business Intelligence en temps réel

MYXTRACTION. 2009 La Business Intelligence en temps réel MYXTRACTION 2009 La Business Intelligence en temps réel Administration Qui sommes nous? Administration et management des profils Connecteurs Base des données Gestion des variables et catégories de variables

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

SOFT AVOCAT Guide d utilisation

SOFT AVOCAT Guide d utilisation SOFT AVOCAT Guide d utilisation 1 SOFT AVOCAT est un logiciel de gestion automatisée des dossiers des cabinets d avocats qui facilite le suivi de leurs traitements à travers ses différentes composantes.

Plus en détail

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier.

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier. PRÉSENTATION PRODUIT Plus qu un logiciel, la méthode plus efficace de réconcilier. Automatiser les réconciliations permet d optimiser l utilisation des ressources et de générer plus de rentabilité dans

Plus en détail

Portail Client Sigma Informatique

Portail Client Sigma Informatique Portail Client Sigma Informatique Edité le 19 févr. 2013 Sommaire Présentation du portail client 3 La page d accueil 8 Vie d une demande (Création et suivi) 11 La consultation d une demande. 18 La gestion

Plus en détail

Questionnaire (Perception) Guide pratique. Section Technopédagogie

Questionnaire (Perception) Guide pratique. Section Technopédagogie Questionnaire (Perception) Guide pratique Section Technopédagogie 01/08/2007 1. QU EST CE QUE QUESTIONNAIRE? Il s agit une application web de création et de publication de questionnaires en ligne, également

Plus en détail

CAC, DAX ou DJ : lequel choisir?

CAC, DAX ou DJ : lequel choisir? CAC, DAX ou DJ : lequel choisir? 1. Pourquoi cette question Tout trader «travaillant 1» sur les indices s est, à un moment ou un autre, posé cette question : «je sais que la tendance est bien haussière

Plus en détail

Mise à jour Apsynet DataCenter

Mise à jour Apsynet DataCenter Mise à jour Apsynet DataCenter Dans le cadre de sa stratégie d évolution produit, Apsynet propose à ses clients sous contrat de maintenance une mise à jour majeure annuelle. Celle-ci peut être complétée

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Maintenir vos bases de données SQL Server défragmentées avec Diskeeper

Maintenir vos bases de données SQL Server défragmentées avec Diskeeper Maintenir vos bases de données SQL Server défragmentées avec Diskeeper Toutes les bases de données SQL Server présentent, au fil du temps, une fragmentation «interne» de leurs données. Elle se produit

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Stéphane FERRANTE MATICE Pam de TOULON

Stéphane FERRANTE MATICE Pam de TOULON MOODLE : Présentation de la plate-forme MOODLE Réunion animateurs Matice 22 Avril 2010 Stéphane FERRANTE MATICE Pam de TOULON Steéphane.ferrante@ac-nice.fr MOODLE : Présentation de la plate-forme MOODLE

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

La gestion Citrix. Du support technique. Désignation d un Responsable de la relation technique

La gestion Citrix. Du support technique. Désignation d un Responsable de la relation technique La gestion Citrix Du support technique. Désignation d un Responsable de la relation technique Dans les environnements informatiques complexes, une relation de support technique proactive s avère essentielle.

Plus en détail

Professeur superviseur ALAIN APRIL

Professeur superviseur ALAIN APRIL RAPPORT TECHNIQUE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE DANS LE CADRE DU COURS LOG792 PROJET DE FIN D ÉTUDE EN GÉNIE LOGICIEL BLUEUPDATES FRANÇOIS BOYER BOYF18048004 DÉPARTEMENT DE GÉNIE LOGICIEL

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

Manuel d utilisation

Manuel d utilisation Fédération Nationale du Sport en Milieu Rural 1, rue sainte Lucie - 75015 PARIS Tel. : 09.72.29.09.72 E-mail : contact@fnsmr.org Site Internet : www.fnsmr.org Manuel d utilisation www.gestaffil.org Table

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

DEVREZ VOUS RÉAPPRENDRE À TRAVAILLER AVEC VOTRE SUITE PRIMMO?

DEVREZ VOUS RÉAPPRENDRE À TRAVAILLER AVEC VOTRE SUITE PRIMMO? POURQUOI UNE VERSION SQL? Pour certains d entre vous, cette version est attendue depuis longtemps. Pour d autres, la version actuelle répond très bien à vos besoins. Alors pourquoi une version SQL? La

Plus en détail

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Projet Informatique Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Réalisation d'un développement de taille conséquente? r Firefox? Ph.

Plus en détail

Envoyer un courrier électronique et autres fonctions associées

Envoyer un courrier électronique et autres fonctions associées 19 février 2013 p 1 Envoyer un courrier électronique et autres fonctions associées Ce tutoriel vient compléter celui présenté le 5 février 2013, portant sur les généralités du courrier électronique. Nous

Plus en détail

Comment gérer les profils ICC d entrée

Comment gérer les profils ICC d entrée Comment gérer les profils ICC d entrée Modifier les profils par défaut 2 Modifier les profils dans FileManager 3 Pour aller plus loin (utilisateurs avancés) 5 Modifier les profils dans le module d impression

Plus en détail