[ Jeudis du Libre, Mons Mercredi 16 mai 2012 ] Créer un moteur de recherche avec des logiciels libres Auteur : Dr Ir Robert Viseur
|
|
- Marie-Josèphe Boivin
- il y a 8 ans
- Total affichages :
Transcription
1 [ Jeudis du Libre, Mons Mercredi 16 mai 2012 ] Créer un moteur de recherche avec des logiciels libres Auteur : Dr Ir Robert Viseur
2 Qui suis-je? Robert Viseur Ingénieur Civil, Mastère en Management de l'innovation, Docteur en Sciences Appliquées. Spécialisé dans les questions relatives à l'économie des logiciels libres et aux pratiques de co-création, ainsi que dans les technologies de recherche et de traitement de l'information (outils d'indexation, API,...). Assistant à la Faculté Polytechnique de l'université de Mons ( Conseiller technologique au CETIC ( 2
3 Qu'est-ce que le CETIC? Centre d'excellence en Technologies de l'information et de la Communication basé à Charleroi (Belgique). Trois départements (et types de services) : Software & System Engineering : qualité logicielle (fiabilité, sécurité, respect des normes internationales, processus,...). Software & Services Technologies : architectures orientées services et sémantique. Embedded & Communication Systems : prototypage de systèmes embarqués communicants et nouvelles technologies électroniques. 3
4 De quoi allons-nous parler? Sujet : comment créer un moteur de recherche à base de logiciels libres? Plan : Qu'est-ce qu'un moteur de recherche? Faut-il utiliser une base de données «fulltext» ou un pur indexeur? Jusqu'où est-il utile de développer soi-même? Exemples : création de moteurs de recherche spécialisés. 4
5 Qu'est-ce qu'un moteur de recherche? 5
6 Définition «Un moteur de recherche est une application permettant de retrouver des ressources (pages web, articles de forums Usenet, images, vidéo, fichiers, etc.) associées à des mots quelconques» (Wikipedia). 6
7 Étapes de fonctionnement Crawler. Collecter automatiquement les documents que l'on souhaite chercher sur un réseau local ou sur Internet. Extraire. Extraire le contenu textuel (texte et métadonnées) des ressources collectées. Enrichir. Trouver et ajouter de nouvelles informations sur base du contenu et de la structure du document. Analyser Analyser le contenu textuel (en vue de son indexation). Indexer. Transformer le contenu textuel en une forme facilitant la recherche par un ordinateur. Rechercher. Proposer une interface de recherche pour des utilisateurs (WUI) ou des logiciels (API). Composer Associer à un ensemble de sources de résultats complémentaires. 7
8 Crawler Réseau Internet: Ouvrir les pages Web issues d'un ensemble de pages Web de départ. Extraire des liens présents dans les pages Web. Suivre ces liens (découverte automatique d'internet). Réseau local: Suivre l'arborescence de répertoires, faire l'inventaire des fichiers disponibles. Éventuellement, constituer une copie locale des fichiers à indexer. Attention aux droits d'accès aux documents (sécurité)! 8
9 Extraire (1/5) L'indexation se fait sur du texte brut (texte ou métadonnées). Besoin d'extraire... le contenu textuel associé au document / à la ressource... et/ou associé à son contexte (ex. : vidéo ou photo insérée dans un document HTML). 9
10 Extraire (2/5) Complexité variable. Très simple pour du texte. Simple pour du (X)HTML ou du XML (RSS, Atom, FOAF, etc.). En pratique: Texte avec des balises (tags). Plus ou moins bien formé. Exemple: HTML. 10
11 Extraire (3/5) Complexité variable (suite). Besoin d'analyseurs spécialisés pour les formats binaires (ex. : photos, vidéos, documents bureautiques, etc.). Extraction des métadonnées. Exemple : tags ID3 dans les fichiers MP3. 11
12 Extraire (4/5) Complexité variable (suite). Besoin d'analyseurs spécialisés pour les formats binaires (suite). Extraction du texte. Exemple : fichier dans le format ouvert ODT (fichiers XML et autres ressources «zippées». Plus difficile si formats non documentés. 12
13 Extraire (5/5) Complexité variable (suite). Beaucoup plus difficile pour les documents scannés (OCR). (...) 13
14 Enrichir (1/3) Il est possible d'aller plus loin que la simple extraction des métadonnées et du texte. Pour les documents HTML: Compréhension des microformats. Exemple: hcard / vcard. 14
15 Enrichir (2/3) Pour les documents HTML (suite): Rétroingénierie (extraction structurée -> redonner du sens aux informations formatées en HTML). 15
16 Enrichir (3/3) Pour les contenus textuels: Extraction d'entités nommées. Exemple : reconnaître des noms de personnes, d'organisations, de villes, de pays, des dates, etc. Autre possibilité : exploiter des logiciels, des bases de données ou des services externes pour enrichir le document. Exemples: langue du document, catégorisation, etc. 16
17 Analyser (1/2) Généralement, cette tâche est réalisée par l'indexeur lui-même. Degré de sophistication variable. Base: segmentation du texte par tokenization. Les phrases sont décomposées en éléments simples. Possibilité (ou non) de configurer des règles de filtrage. Exemple : suppression des mots trop courts, suppression des «stops words», etc. 17
18 Analyser (2/2) Degré de sophistication variable (suite). Lemmatisation. Transformation des mots à indexer en lemme (forme canonique). Exemple: avoir = ai, as, a, avons, eussions eu, aurions, etc. But: amélioration du rappel du moteur de recherche (parfois au détriment de la précision). Nécessite un dictionnaire dans la langue du document à indexer. Procédé voisin (plus basique) sur base de règles de troncature (stemming). Exemple: algorithme de Porter. 18
19 Indexer (1/3) Création d'un index inversé. Typiquement: structure mettant en correspondance des mots avec un ensemble de documents. La recherche d'un ou plusieurs mots permet de facilement retrouver les documents le ou les contenant. 19
20 Indexer (2/3) Vue (très) simplifiée: <doc1> = <mot1> <mot2> <mot3> <doc2> = <mot4> <mot1> Index: <mot1> <mot2> <mot3> <mot4> <mot1> <doc1> <doc1> <doc1> <doc2> <doc2> pos=1 pos=2 pos=3 pos=1 pos=2 Requêtes: q = <mot4> -> <doc2> q = <mot1> OR <mot4> -> <doc2>, <doc1> 20
21 Indexer (3/3) Modèle de pertinence intégré. Un classique: modèle TFxIDF. La fréquence d'apparition de chaque terme dans un document est pondérée par la fréquence du terme dans le jeu de documents. Évolutions possibles : classement fonction de la localisation, de la structure des liens (cf. Google Pagerank), etc. 21
22 Rechercher (1/2) Proposer une interface d'interrogation du moteur. Pour humains (Web User Interface, WUI). Pour logiciel (Application Programming Interface, API). Raffinements possibles : catégorisation, clustering, facétisation, etc. 22
23 Rechercher (2/2) Remarque: Les moteurs de recherche commerciaux proposent une API (Google, Bing, etc.). Passage progressif au modèle payant. Conditions d'utilisation parfois restrictives. Problèmes de fiabilité (cf. webométrie). Mais utilité: pour initier des crawls, pour disposer de listes d'urls ciblées (analyse en profondeur), pour compléter des résultats de recherche (composition). 23
24 Composer Plusieurs sources de données peuvent être combinées. Exemples: principe du métamoteur, lien avec des bases de données sémantiques. 24
25 Faut-il utiliser une base de données «fulltext» ou un pur indexeur? 25
26 Bases de données simples (1/2) Base de données = tables de données (lignes / colonnes) liées (via des clefs / identifiants). Typage des données, contraintes d'intégrité. Language d'interrogation standardisé proche du language humain (SQL). Large disponibilité d'outils de création. Par défaut, pas de fonctionnalité «fulltext». 26
27 Bases de données simples (2/2) Recherche de texte possible par: Recherche de sous-chaînes de caractères via "LIKE". Sous-chaînes!= mots. Filtrage nécessaire avant affichage. Recherche possible via des expressions régulières. -> pas adapté à de gros volumes de données (> lignes par table). 27
28 Base de données «fulltext» Mêmes caractéristiques que pour la base de données simple, mais... Création automatique d'un index inversé. Performances variables: volume de données supporté (nombre d'enregistrements, longueur du texte), finesse d'analyse du texte (lemmatisation ou non, personnalisation de l'analyse ou non, etc.), richesse variable du langage d'interrogation, support variable des langues (si lemmatisation). Le langage d'interrogation de l'index «fulltext» varie d'un SGBG à un autre. 28
29 Pur indexeur Outil dédié uniquement à la recherche fulltext. Plus de structure tabulaire, de contraintes d'intégrité, ni de language d'interrogation universel. En général: conçu pour gérer de gros volumes de texte, facilement embarquable dans un logiciel, possibilités de personnalisation du comportement, syntaxe d'interrogation riche, notion de champs (sans contrainte). 29
30 Technologies libres Bases de données «fulltext» : MySQL (mode «fulltext»), PostgreSQL (Tsearch2), Sphynx Search (extension pour MySQL et PostgreSQL). Pur indexeur : Lucene, ports Lucene, Xapian, Whoosh, etc. Rapide comparatif : Remarque: couvertures fonctionnelles variables. 30
31 Jusqu'où est-il utile de développer soi-même? 31
32 Approches possibles Trois approches possibles : Utilisation d'outils intégrés. A utiliser s'ils sont adaptés. Développement ex nihilo (DIY). A démarrer si un avantage fonctionnel peut être trouvé. Développement sur base de composants libres. A privilégier si pas d'outil intégré disponible. Suite : présentation non exhaustive de logiciels libres disponibles. 32
33 Existence d'outils intégrés (1/2) Serveur d'indexation: SolR (lucene.apache.org/solr/). Comprend: extracteurs (Apache Tika), indexeur (Lucene), API (JSON ou REST). Métamoteurs: Carrot² (métamoteur, clustering; carrot2.org). Seeks (métamoteur, P2P; seeks-project.info). 33
34 Existence d'outils intégrés (2/2) Moteur de recherche intégré: Nutch (nutch.apache.org). Comprend: crawleur, extracteurs, indexeur, WUI et API. Basé sur SolR. Fonctionnel avec Internet ou Intranet. Moteur de recherche complet décentralisé (P2P): YaCy (yacy.net). Comprend: crawleur, extracteurs, indexeur, WUI et API (OpenSearch). 34
35 Plusieurs de langages de programmation adaptés au Web Plusieurs languages de programmation libres adaptés au Web. Exemples: Python, Perl, Java, Ruby, PHP, etc. Possibilité de développements sur mesure... Basé sur des bibliothèques réutilisables Exemple : gestion des threads, ouverture d'urls, analyse de textes, analyse HTML, etc. Attention au syndrome NIH... 35
36 Existence de composants spécialisés (1/3) Crawler: Wget. Extraire : Lecture de flux RSS ou Atom: Feedparser (Java, Python), Simplepie (PHP), etc. Extraction de texte et de métadonnées : Apache Tika / POI (Java), utilitaires (xls2csv, catdoc, pdfinfo, etc.), ifilters (propriétaire, disponible sous Windows), etc. Extraction d'articles (contenu utile) : Boilerpipe (Java). OCR: GOCR, OCRAD, Tesseract, etc. 36
37 Existence de composants spécialisés (2/3) Analyser : Stemming: Snowball (Java). Rétroingénierie de pages Web: DEiXTo, Web Harvest, etc. TAL: OpenNLP (Java), NLTK (Python), etc. Détection de langue: Language-detection (Java), NLTK (Python), Text_LanguageDetect (PHP), etc. Extraction d'entités (nommées ou pas): OpenNLP (Java), UIMA (Java), Stanbol, etc. 37
38 Existence de composants spécialisés (3/3) Indexer : Indexation (SGBD): MySQL, PostgreSQL, etc. Indexation (indexeur): Lucene (Java), Whoosh (Python), Zend Search (PHP), etc. Rechercher : Classification: Mahout (Java), NLTK (Python), Reverend (Python), etc. Composer : Métamoteur : Carrot². Divers : Bases de données: DBPedia (Wikipedia), Geonames (base de données géographique), etc. Remarque : existence de très nombreux petits projets spécialisés et parfois très utiles. 38
39 Et pourquoi pas du logiciel propriétaire? Existence de technologies propriétaires reconnues pour l'indexation. Exemples : Dtsearch, Oracle TEXT, etc. Point fort : très large couverture fonctionnelle, performances de haut niveau. Point faible : prix, «lock-in» technique. Le monde Java est alimenté par des projets de recherche (publics ou privés) en traitement de l'information. Exemples (logiciels libres) : UIMA, Stanbol, Nepomuk, etc. Existence d'alternatives en Python (parfois) et, dans une moindre mesure, en Microsoft.Net (C#, ASPX, etc.). Existence d'outils gratuits (mais non libres). Exemples : TreeTagger, Sentiwordnet, etc. 39
40 Exemples pratiques : création de moteurs de recherche spécialisés 40
41 Exemple 1 : moteur de recherche de podcasts Objectif : Sur base d'une liste de podcasts (fichiers RSS)... Indexer le contenu des flux RSS... En distinguant... Les descriptifs de chaque fichier RSS et... Les descriptions de chaque ressource multimédia référencée... Et permettre des recherches par mots-clefs. 41
42 Outils réutilisés Lecture RSS : Feedparser (Python). Indexation : MySQL (fulltext). Fonctionnement simple (extension du SQL) : Création de la table avec index : CREATE TABLE news ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(256), content TEXT, FULLTEXT (title, content) ) Recherche par mot-clef : SELECT id, title, content, MATCH (title,content) AGAINST ('linux') AS score FROM news WHERE MATCH (title,title) AGAINST ('linux') ORDER BY score 42
43 Résultat Exemples de résultat de recherche : 43
44 Exemple 2 : moteur de recherche de flux RSS Objectif : découvrir, indexer et rechercher des flux RSS. 44
45 Outils Indexation via Zend Search (voir exemple 3). Développement spécifique: crawler. Développement Python utilisant «urllib», «string», «sgmlparser» et «threading». Crawler (Python) spécialisé dans la découverte de flux RSS. Principe: sur base d'une liste d'url (amorce), le crawler (multi-thread) ouvre les pages d'accueil, identifie les flux RSS et Atom (et les ajoute à une liste), extrait les noms de domaine des liens sortants, et ajoute ces noms de domaine aux URLs à visiter. But: explorer peu de pages HTML mais trouver un maximum de flux de syndication en un minimum de temps et avec un minimum de bande passante. 45
46 Résultat Collecte aisée de plusieurs dizaines de milliers de flux RSS et Atom, en français, anglais, néerlandais et espagnol. Recherche avancée : par mots-clefs, par pays, par langue, restriction possible aux podcasts. 46
47 Exemple 3: moteur de recherche d'entreprises Point de départ: données de l'annuaire Logiciellibre.com. Objectif : A partir d'une base de données d'adresses d'entreprises actives dans le logiciel libre... Créer un index Web spécialisé... Pour identifier les entreprises actives sur certaines technologies et étudier leur environnement. 47
48 Outils réutilisés Crawl: Wget. Indexation: Zend Search. Extraction d'entités: Boilerplate, OpenNLP. Visualisation: WUI et DOT. 48
49 Wget (1/2) Utilitaire GNU en ligne de commande, compatible Linux ou Cygwin, permettant de récupérer des fichiers en utilisant HTTP, HTTPS et FTP. Commande de base : wget Stocke localement la page située à l'adresse « Commande pour un crawl : wget -r -l2 -P www -R jpg,gif,png ' Crawl récursif de profondeur 2 pour le site « et résultats du crawl dans le répertoire «www» (+ rejet des photos). 49
50 Wget (2/2) Multiples options : -r (crawl récursif) Par défaut : respect de la convention «norobots» -l (profondeur de récursion) -P (répertoire cible pour le stockage) -A et -R (filtrage des URLs par pattern) --user-agent («user agent» imposé)... Plus d'infos : Alternative : curl (puissant mais... pas de crawl récursif). 50
51 Lucene (1/2) Outil d'indexation supporté par la fondation Apache (lucene.apache.org). Ecosystème étendu : Utilisé dans Alfresco, Jahia, Liferay,... Extension au cloud (ex. : CouchDB-lucene). Beaucoup d'outils tiers : Luke (lecture d'un index), Solr (serveur de recherche ; sans crawler), Nutch (moteur de recherche avec crawler), Carrot2 (interface de recherche compatible OpenSearch et Solr),... Cf. 51
52 Lucene (2/2) Le format d'index est devenu une sorte de standard. Nombreux portages : Lucene.Net (. Net), PyLucene (Python), CLucene (C++) Plucene (Perl), Zend Search (PHP),... Différents types de portages : par traduction littérale (compatibilité d'api d'abord), par traduction optimisée pour le langage cible (performances d'abord) et par binding (Python). Points à surveiller : couverture fonctionnelle, version de l'index,... 52
53 Zend Search (1/4) Portage de Lucene en PHP. API spécifique. Support de la version d'index 2.3 (depuis Zend Framework 1.6). Support de l'utf-8 en interne. Intégré au framework Zend mais utilisable séparément (taille sur disque : 734,3 ko). Taille d'index théorique maximum = 2GB (système 32 bits). Facilement hébergeable (installable sur un hébergement mutualisé type OVH ou Lost Oasis). 53
54 Zend Search (2/4) Plusieurs types de champs supportés : «Keyword», «UnIndexed», «Binary», «Text» et «UnStored». 54
55 Zend Search (3/4) Syntaxe supportée lors des recherches : Opérateurs booléens («OR» ou, «AND» ou «&&», «NOT» ou «!», «+», «-»), indicateur de champs («title:»), jokers («?» ou «*»), recherche par intervalle (dates ou chaines), recherche floue («~»), recherches de proximité («~»), facteur de boost («^»). Possibilité de trier par champs. Cf. et 55
56 Zend Search (4/4) Possibilité de personnaliser l'analyse des documents : Utilisation d'un analyseur par défaut (Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive). Possibilité de choisir un analyseur (compatible UTF-8, compatible avec les nombres,...). Possibilité de configurer des filtres («lowercase», «stop words», «short words»). Possibilité de créer son propre analyseur. Cf. Possibilité de chargement direct de documents : formats HTML, MS Word / Powerpoint / Excel,... 56
57 Encodage UTF-8 sous PHP (1/2) PHP 5 (et <5) travaille en ISO Problème? L'UTF-8 permet de présenter davantage de jeux de caractères que l'iso mais... L'UTF-8 stocke les caractères sur 1 ou plusieurs octets (1 seul en ISO8859-1). Donc? L'UTF-8 est mieux adapté à l'internet. La chaîne d'outils utilisés (éditeur, langage de script, base de données, navigateur,...) doit connaître l'encodage utilisé pour comprendre les chaînes. Exemple de problème : «Archive Little I dreamed of being like LÂ guman... now I eat carrots». Cf. 57
58 Encodage UTF-8 sous PHP (2/2) Dans PHP : La logique est différente de celle de Python, qui propose un type «string» et un type «Unicode». PHP est très faiblement typé et travaille uniquement avec des chaines. La conversion entre ISO et UTF-8 se fait à l'aide des fonctions «utf8_encode()» et «utf8_decode()». Les autres conversions se font via «iconv». La manipulation des chaines en UTF-8 se fait à l'aide de la bibliothèque «mbstring». La détermination de l'encodage des caractères en entrée n'est pas triviale (headers HTTP parfois erronés, métadonnées HTML parfois absentes ou erronées, outils de détection pas toujours fiables,...). 58
59 Indexation sous Zend Search (1/2) Création d'un index et insertion : $index = Zend_Search_Lucene::create('/data/my-index'); $doc = new Zend_Search_Lucene_Document(); $doc->addfield(zend_search_lucene_field::text('title', $doctitle)); $doc->addfield(zend_search_lucene_field::unindexed('url', $docurl)); $doc->addfield(zend_search_lucene_field::unstored('content', $doccontent)); $index->adddocument($doc); $index->commit() ; Optimisation de l'index : $index->optimize(); 59
60 Indexation sous Zend Search (2/2) Ouverture d'un index et recherche : $index = Zend_Search_Lucene::open('/data/my-index') ; $query = Zend_Search_Lucene_Search_QueryParser::parse($input); $hits = $index->find($query); foreach ($hits as $hit) { echo $hit->score; echo $hit->title; echo $hit->url; } Paramètres : opérateur par défaut, encodage des données,... 60
61 Divers Attention : wget affecte conventionnellement le nom «index.html» à l'adresse «/». Analyse des documents HTML : native (cf. «Zend_Search_Lucene_Document_Html»), manuelle non structurée (extraction des métadonnées -title, description,...par expressions régulières et nettoyage du <body> via «strip_tags») ou... manuelle structurée (extraction structurée par expression régulière ou Xpath). Lucene ne gère pas les contraintes d'intégrité. Les doublons ne peuvent donc pas être évités via un champ «UNIQUE». Or, hash utile sur l'url, voire sur le contenu (duplicate content). Solutions possibles : test sur un champ unique dans l'index ou test sur base d'une table externe (ex. : hash dans SQLite). 61
62 Mode de fonctionnement (1/3) Étape 1 : constituer une base de données d'urls (basé sur logiciellibre.com). Étape 2 : Détecter les éventuelles redirections, sites morts, etc (automatisable sous PHP avec «get_headers»). Générer les requêtes wget correspondantes. Lancer le crawl avec «wget». Étape 3 : lancer l'indexation des pages collectées par «wget». Utilité : identifier les prestataires actifs sur une ou plusieurs technologies particulières. 62
63 Mode de fonctionnement (2/3) 63
64 Mode de fonctionnement (3/3) Performances : Active index: index-fr: Create index: From :39:16 to :44:28. Size of the index: 4299 document(s) and 35,5Mo. Time: 258,957s. (60,237ms./doc.). Optimization time: 49,154s. Tests: Search (test): 25 result(s) (max.: 25) in 10,130ms. for 'python'. Search (test): 69 result(s) (max.: 250) in 4,425ms. for 'python'. Search (test): 25 result(s) (max.: 25) in 11,798ms. for 'python AND plone'. Search (test): 27 result(s) (max.: 250) in 7,111ms. for 'python AND NOT plone'. Search (test): 102 result(s) (max.: 250) in 8,569ms. for 'python OR plone^4'. 64
65 Les petits plus... Deux exemples : Visualisation des relations des entreprises (écosystème). Création de nuages de tags. 65
66 Visualisation des relations (écosystème) Exemple d'application : Visualiser les relations entre entreprises,et entre les entreprises et leur environnement (communautés, organismes publics, etc.) Comment faire? 66
67 Processus Sur base des liens hypertextes entre les sites. Comptabilisation des relations de page à page. Utilisation du format DOT pour représenter le graphe de relations. Utilisation du logiciel en ligne de commande Dot. Remarque : existence d'outils plus évolués: Gephi (gephi.org), Tulip (tulip.labri.fr), etc. 67
68 Résultat 68
69 Création d'un nuage de tags Exemple d'application: Pour chaque site Internet repris dans l'index: Avoir une vue des personnes importantes (employés, références, etc.). Avoir une vue globale de l'entreprise (partenaires, technologies, normes, localisations, etc.). Comment faire? 69
70 Processus Base: copie locale des sites obtenue par wget. Pour chaque page HTML d'un site Web: 1. Extraction du contenu textuel utile avec Boilerplate. 2. Analyse du contenu textuel avec OpenNLP. Extraction des noms de personnes. Étiquetage grammatical. Extraction des noms propres (personnes, entreprises, technologies, normes, etc.). 3. Tri (filtrage : fréquence, «patterns»). 4. Création des nuages de tags. 70
71 Résultat 71
72 Principales difficultés Principalement liées à OpenNLP Fiabilité globalement correcte mais... Sensibilité vis-à-vis du texte donné en entrée. Exemple : <START:person> Andy Gibbs 1 <END> Felipe Contreras 1 Frederik Pasch 1 Heiko Zuerker 1 Javier Viguera <START:person> 1 <END> Luca Ceresoli 1 Marcelo Roberto Jimenez 1 Marcus Osdoba 1 Matt Johnson 1 <START:person> Paul Burton 1 Paul Jones 1 <END> Importance de la conversion HTML -> texte. Nombre limité de fichiers d'entrainement. Exemple: étiquetage grammatical (disponible en anglais, néerlandais ou espagnol, mais pas en français). Le filtrage sur base de la fréquence d'apparition limite la présence de tags peu pertinents. 72
73 Conclusion 73
74 Conclusion (1/2) Large variété d'outils libres disponibles: logiciels intégrés, Composants réutilisables, bibliothèques de base. Capacité des outils libres à répondre à des besoins variés mais... Concepts de base à maîtriser. Intégration (souvent) moindre comparé à des équivalents propriétaires (ex.: Oracle Text). 74
75 Conclusion (2/2) Sujets peu ou prou abordés : Problématique de passage à l'échelle. Temps des crawls (et leur ciblage). Temps d'analyse des contenus. Gestion des grands volumes de données (> million de documents). Technologies Cloud (ex.: bases NoSQL, Hadoop, etc.). Développement de moteurs de recherche sémantiques. Cf. Fauconnier et Roumier (2011). 75
76 Merci! Merci pour votre attention. Des questions? 76
77 Ressources et liens utiles Robert Viseur (2012). «De l'annuaire de sites à la recherche sociale: 15 ans d'évolution!». Etudiant Polytech d'un jour (UMONS). URL : Robert Viseur (2011). «Développement d'un moteur de recherche avec Zend Search». RMLL URL : Jean-Philippe Fauconnier et Joseph Roumier (2011). Semantic Search Engine Dedicated to Music & Musicians. Music Linked Data Workshop, London, May 12, URL : Robert Viseur (2010). «Introduction to libre «fulltext» technology». RMLL URL : Erik Hatcher et Otis Gospodnetić (2004). «Lucene in Action». Manning Publications Co. Soumen Chakrabarti (2003). «Mining the Web - Discovering Knowledge from Hypertext Data». Morgan Kaufmann. 77
78 Contact Dr Ir Robert Viseur robert.viseur@umons.ac.be Téléphone : Internet : 0032 (0) Cette présentation est diffusée sous licence «CC-BY-ND». 78
Gestion collaborative de documents
Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,
Plus en détailHébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailTechnologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage
Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site
Plus en détailPROSOP : un système de gestion de bases de données prosopographiques
PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la
Plus en détailPratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
Plus en détailHébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens
Hébergement WeboCube Le service d'hébergement WeboCube a pour but de sécuriser la présence internet grâce à un suivi personnalisé et une maintenance active de votre serveur internet. Un espace de gestion
Plus en détailCré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étailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailNFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Plus en détailPetite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailAtelier 1. Portails documentaires : BioLib et Cemadoc
Atelier 1 Portails documentaires : BioLib et Cemadoc Intervenants Emmanuelle Jannes-Ober, responsable de la médiathèque - Institut Pasteur Odile Hologne, chef du service de l infomation scientifique et
Plus en détailWysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x
WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET
Plus en détailSharePoint 2013 L'environnement de travail collaboratif
Généralités Présentation générale 11 Prérequis matériel, logiciel et système 11 L interface utilisateur avec ou sans Silverlight 11 Accéder à la page d accueil du site 12 Afficher/modifier ses paramètres
Plus en détailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailJoomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
Plus en détailFouillez facilement dans votre système Big Data. Olivier TAVARD
Fouillez facilement dans votre système Big Data Olivier TAVARD A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur en technologies de moteurs de recherche
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailIntroduction. M2206 Intégration web. Introduction. Introduction 20/01/2014
Introduction M2206 Intégration web http://www.atinternet.fr/ressources/ressources/etudespubliques/barometre-des-moteurs/ Référencement des sites web et moteurs de recherche Introduction Introduction http://www.go-gulf.com/blog/social-networking-user/
Plus en détailWEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Plus en détailCours: Administration d'une Base de Données
Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1
Plus en détailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailComparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA
Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche
Plus en détailSharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)
Présentation des technologies SharePoint 1. Introduction 19 2. Enjeux 20 3. Les pièges à éviter 22 4. Présentation technologique 22 4.1 Historique 23 4.2 Briques fonctionnelles et comparatif des éditions
Plus en détailMagento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Plus en détailhttp://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces
Maryem Rhanoui 2013 Alfresco Liens utiles Le site Alfresco : http://www.alfresco.com/fr/ Le Portail Content Community http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation,
Plus en détailAlfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008
Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008 Objectifs À la fin de cette présentation, vous serez en mesure : de citer des ministères ayant fait
Plus en détailcedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007
A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailMailStore Server 7 Caractéristiques techniques
MailStore Server 7 Caractéristiques techniques MailStore Server La référence en matière d archivage d e-mails La solution MailStore Server permet aux entreprises de toutes tailles de bénéficier des avantages
Plus en détailTHEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Plus en détailDe l'open source à l'open cloud
De l'open source à l'open cloud Rencontres Mondiales du Logiciel Libre Développement logiciel Beauvais (France) 08 juillet 2015 robert.viseur@cetic.be Qui suis-je? Je suis : Dr Ir Robert VISEUR. Ingénieur
Plus en détail4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailCRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailTYPO3, le CMS de référence
TYPO3, le CMS de référence au (gouvernement du) Québec 11 juillet 2011 / RMLL 2011 / France - Strasbourg Qui suis-je? Présentation et architecture de TYPO3 Gouvernement du Québec et appels d'offres Un
Plus en détailKIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure
KIELA CONSULTING Microsoft Office Open Office Windows - Internet Formation sur mesure Bureautique L outil informatique et la bureautique sont devenus quasiment incontournables quelque soit votre métier
Plus en détailMySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
MySQL (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Plus en détailMANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:
MANUEL WORDPRESS Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site: A/ Traitement de la base de données: Pour cette étape, vous aurez besoin au préalable
Plus en détailLogiciels de référencement
Outils Logiciels de référencement Afin de contrôler la qualité de son référencement, d optimiser et d améliorer son positionnement, il peut être utile d utiliser des outils couvrant tout ou partie du référencement.
Plus en détailCOMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2
SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES
Plus en détailOffres de stages 2011/2012
Offres de stages 2011/2012 RBS LE MEILLEUR DE L INTEGRATION ET DE L EDITION L informatique est devenue un outil stratégique de développement et de différenciation pour les organisations du 21ème siècle
Plus en détailLes modes de recherche sur le Web 2.0
Les modes de recherche sur le Web 2.0 1 Sommaire 1. Contexte 2. Le collaboratif : les moteurs thématiques 3. La syndication des résultats de recherche 4. Les connaissances : des moteurs 2 1 1. Moteurs
Plus en détailPrincipales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement
Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.
Plus en détailFileMaker Server 11. Publication Web personnalisée avec XML et XSLT
FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une
Plus en détailMysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
Plus en détailIntroduction à. Oracle Application Express
Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création
Plus en détailLe Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan
Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture
Plus en détailLe Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
Plus en détailActivité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données
Activité sur Meteor Annexe 1 : notion de client-serveur et notion de base de données Notion de client-serveur Que se passe-t-il lorsque vous tapez dans la barre d'adresse de votre navigateur «http://www.google.fr»?
Plus en détailBases de données documentaires et distribuées Cours NFE04
Bases de données documentaires et distribuées Cours NFE04 Introduction du cours Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailDOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin
DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailLes sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org
Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et
Plus en détailDécouverte de Microsoft Office 2010 et de Microsoft Exchange Server 2010
Découverte de Microsoft Office 2010 et de Microsoft Exchange Server 2010 Logistique Pause en milieu de présentation Vos questions sont les bienvenues. N hésitez pas! Cette présentation sera téléchargeable
Plus en détailOFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise
OFFRE MDB Service & Architecture Technique MyDataBall Saas (Software as a Service) MyDataBall On Premise L offre Produit / Service 1 Implantation Rédaction collaborative du cahier des charges 2 3 de la
Plus en détailPaul FLYE SAINTE MARIE
Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications
Plus en détail1. La plate-forme LAMP
Servi ces pour intranet et Internet Ubuntu Linux - Création et gestion d un réseau local d entreprise 1. La plate-forme LAMP Services pour intranet et Internet La fourniture d'un site pour le réseau ou
Plus en détailGuide et conseils généraux pour optimiser le référencement d un site internet
Guide et conseils généraux pour optimiser le référencement d un site internet Novembre 2010 1 Introduction Le référencement de votre site internet vous permet d être présent dans les différents moteurs
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailServices sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée
Trois services à la loupe Services sur réseaux Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Plan du cours : 1. Services de messagerie Architecture Fonctionnement Configuration/paramétrage
Plus en détailMagasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant
Plus en détailLes bases de données Page 1 / 8
Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...
Plus en détailM2 SIAW - Exemples de stages réalisés. Gabriella Salzano - Document de travail - 28/1/2015
M2 SIAW - Exemples de stages réalisés Gabriella Salzano - Document de travail - 28/1/2015 Les étudiants du M2 SIAW réalisent généralement leurs stages dans des entreprises, parfois dans des laboratoires
Plus en détailSommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23
1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique
Plus en détailet Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
Plus en détailhttp://mondomaine.com/dossier : seul le dossier dossier sera cherché, tous les sousdomaines
Principales fonctionnalités de l outil Le coeur du service suivre les variations de position d un mot-clé associé à une URL sur un moteur de recherche (Google - Bing - Yahoo) dans une locale (association
Plus en détailÉvaluation des compétences. Identification du contenu des évaluations. Septembre 2014
Identification du contenu des évaluations Septembre 2014 Tous droits réservés : Université de Montréal Direction des ressources humaines Table des matières Excel Base version 2010... 1 Excel intermédiaire
Plus en détailFileMaker 13. Guide ODBC et JDBC
FileMaker 13 Guide ODBC et JDBC 2004-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de
Plus en détailPrésentation du module Base de données spatio-temporelles
Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes
Plus en détailPanorama des solutions analytiques existantes
Arnaud LAROCHE Julien DAMON Panorama des solutions analytiques existantes SFdS Méthodes et Logiciels - 16 janvier 2014 - Données Massives Ne sont ici considérés que les solutions autour de l environnement
Plus en détailOptimisations des SGBDR. Étude de cas : MySQL
Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique
Plus en détailInstallation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détail[ ABE, Bruxelles Mercredi 27 mars 2013 ] Les modèles d'affaires des prestataires en logiciels libres Auteur : Dr Ir Robert Viseur
[ ABE, Bruxelles Mercredi 27 mars 2013 ] Les modèles d'affaires des prestataires en logiciels libres Auteur : Dr Ir Robert Viseur Qui suis-je? Robert Viseur Ingénieur Civil, Mastère en Management de l'innovation,
Plus en détailCMS Open Source : état de l'art et méthodologie de choix
CMS Open Source : état de l'art et méthodologie de choix Définition d'un CMS (wikipedia) Les CMS sont une famille de logiciel de conception et de mise à jour dynamique de sites web partageant les fonctionnalités
Plus en détailS7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
Plus en détailSélection d un moteur de recherche pour intranet : Les sept points à prendre en compte
Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte 1Les bases : vos objectifs 2 Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte
Plus en détail[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur
[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur Qui suis-je? Robert Viseur Ingénieur Civil, Mastère en Management de l'innovation,
Plus en détailPrésentation générale du projet data.bnf.fr
Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données
Plus en détailNouveautés Ignition v7.7
... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential
Plus en détailJeudi 17 février 2011. Nicolas Darcheville Vincent Goessens
Jeudi 17 février 2011 Nicolas Darcheville Vincent Goessens Vos questions sont les bienvenues. N hésitez pas! Cette présentation sera téléchargeable sur http://www.managersolution.com Merci de penser à
Plus en détailBusiness Intelligence
avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................
Plus en détailPrésentation Alfresco
Présentation d un CMS : Alfresco Présentation Alfresco Ludovic Plantin, Frédéric Sénèque, Xu Zhao Polytech Grenoble Décembre 2008 Plantin, Sénèque, Xu (Polytech) Présentation Alfresco Décembre 2008 1 /
Plus en détailDiffuser un contenu sur Internet : notions de base... 13
Diffuser un contenu sur Internet : notions de base... 13 1.1 Coup d œil sur l organisation de cet ouvrage.............. 15 Préambule : qu est-ce qu une page web?................ 16 À propos du HTML...........................
Plus en détailStages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr
Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, stage@isoft.fr ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise
Plus en détailK-Portal et K-Sup 5.1 des nouveautés. Détails
K-Portal et K-Sup 5.1 des nouveautés Détails 5.1 Découvrez comment cette nouvelle version vous aidera à : " élargir considérablement votre offre de contenu, " proposer de nouveaux services à vos publics,
Plus en détail2 Formation utilisateur
2 Formation utilisateur Formation développeur Formation Formation développeur - créer un compte - créer un projet - rejoindre/quitter un projet - rappel sur l'open source et les licences - rappels su PHP
Plus en détailAvanquest Software présente la nouvelle gamme WebEasy 8
La Garenne Colombes, le 22 Juin 2009 Avanquest Software présente la nouvelle gamme WebEasy 8 Des logiciels pour créer simplement des sites internet de qualité professionnelle sans aucune connaissance en
Plus en détailFORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006
I. INTRODUCTION 1. Présentation du formateur et des élèves 2. Historique internet : d'où ça vient a. Historique général : 3 étapes majeures 1. l'histoire de l'informatique débute en 1942 avec la première
Plus en détail