[ Jeudis du Libre, Mons Mercredi 16 mai 2012 ] Créer un moteur de recherche avec des logiciels libres Auteur : Dr Ir Robert Viseur

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

Download "[ Jeudis du Libre, Mons Mercredi 16 mai 2012 ] Créer un moteur de recherche avec des logiciels libres Auteur : Dr Ir Robert Viseur"

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 (www.umons.ac.be). Conseiller technologique au CETIC (www.cetic.be). 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 «www.cetic.be». Commande pour un crawl : wget -r -l2 -P www -R jpg,gif,png 'http://www.cetic.be' Crawl récursif de profondeur 2 pour le site «http://www.cetic.be» 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 Téléphone : Internet : 0032 (0) Cette présentation est diffusée sous licence «CC-BY-ND». 78

Introduction à l'indexation fulltext

Introduction à l'indexation fulltext Introduction à l'indexation fulltext Robert VISEUR Assistant (FPMs) Guideur technologique (CETIC) robert.viseur@fpms.ac.be Solutions Linux 2008 31 janvier 2008 Objectifs de l'exposé Proposer une introduction

Plus en détail

Faculté Polytechnique

Faculté Polytechnique Faculté Polytechnique RMLL 2014 Etude du secteur des prestataires FLOSS en Belgique Dr Ir Robert Viseur Montpellier, 09 juillet 2014 Introduction 2 Qui suis-je? Robert Viseur Ingénieur Civil, Mastère en

Plus en détail

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

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

Plus en détail

Gestion collaborative de documents

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étail

Hébergement de site web Damien Nouvel

Hé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étail

Moteurs de recherche alternatifs, libres et décentralisés

Moteurs de recherche alternatifs, libres et décentralisés Moteurs de recherche alternatifs, libres et décentralisés Hackpéro Gwadalug 7 décembre 2011 By fwix and hnourel (seeks enthusiasts) Quel(s) moteur(s) utilisez-vous? Enjeux trouver tous types de ressources

Plus en détail

TYPO 3. Un logiciel libre professionnel de gestion de contenu web

TYPO 3. Un logiciel libre professionnel de gestion de contenu web TYPO 3 Un logiciel libre professionnel de gestion de contenu web Plan du workshop Perspective décisionnelle : Les besoins ciblés par Typo3 Pourquoi Typo3 par rapport à la concurrence Mais Perspective technique

Plus en détail

de survie du chef de projet

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

Plus en détail

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

Gestion intégrée de contenus avec une solution libre, Alfresco. Nicolas Bélisle, MBA Conseiller DocuLibre http://www.doculibre.com

Gestion intégrée de contenus avec une solution libre, Alfresco. Nicolas Bélisle, MBA Conseiller DocuLibre http://www.doculibre.com Gestion intégrée de contenus avec une solution libre, Alfresco Nicolas Bélisle, MBA Conseiller DocuLibre http://www.doculibre.com Gestion de contenu d'entreprise (ECM) Quatre volets principaux: Gestion

Plus en détail

Technologies du Web. Technologies avancées côté serveur. Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009

Technologies du Web. Technologies avancées côté serveur. Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009 Publication XML Technologies du Web Technologies avancées côté serveur Pierre Senellart (pierre.senellart@telecom-paristech.fr) Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009

Plus en détail

Technologies 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. 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étail

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

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

Plus en détail

Fonctionnement du Site Web Dynamique:

Fonctionnement du Site Web Dynamique: Fonctionnement du Site Web Dynamique: Site Web Dynamique: Un site Web dynamique est en faite un site Web dont les pages qu'il contient peuvent être générées dynamiquement, c'est à dire à la demande de

Plus en détail

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

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

Plus en détail

Afficher l aide... 15 Rechercher à partir de mots clés... 16 Accéder à l aide en ligne... 17

Afficher l aide... 15 Rechercher à partir de mots clés... 16 Accéder à l aide en ligne... 17 Découverte de SharePoint i Généralités Présentation générale................................... 11 Mise en place de l application SharePoint..................... 11 L interface utilisateur avec ou sans

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : 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étail

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Hé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étail

GED ECM :Alfresco. S I A T. T é l : ( + 2 1 6 ) 7 1 7 9 9 7 4 4. F a x : ( + 2 1 6 ) 7 1 7 9 8 3 6 3

GED ECM :Alfresco. S I A T. T é l : ( + 2 1 6 ) 7 1 7 9 9 7 4 4. F a x : ( + 2 1 6 ) 7 1 7 9 8 3 6 3 GED ECM :Alfresco Alfresco est une solution de gestion de contenu d'entreprise (ECM) : elle propose une gestion de contenu d'entreprise complète : gestion documentaire, collaboration, gestion de cycle

Plus en détail

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation.

Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Bienvenue! Jusqu à 14 h : Open Questions! On vous explique ce que vous n avez pas compris lors de la première formation. Téléchargez les logiciels nécessaires pour cette formation : http ://formation-web.via.ecp.fr

Plus en détail

SharePoint 2013 L'environnement de travail collaboratif

SharePoint 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étail

Applications orientées données (NSY135)

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

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Contenu. Introduction au système de gestion de contenu Jommla! (Partie I) Kaveh Bazargan

Contenu. Introduction au système de gestion de contenu Jommla! (Partie I) Kaveh Bazargan Introduction au système de gestion de contenu Jommla! (Partie I) Kaveh Bazargan 2 juin 2009, UNIGE 1 Contenu Introduction & motivation Définition & quelques chiffres Domaines d utilisation et exemples

Plus en détail

FileMaker 12. Guide ODBC et JDBC

FileMaker 12. Guide ODBC et JDBC FileMaker 12 Guide ODBC et JDBC 2004-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET 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étail

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL

Bases de données (INF225), TELECOM ParisTech. TP PHP & MySQL Bases de données (INF225), TELECOM ParisTech TP PHP & MySQL Pierre Senellart (pierre.senellart@telecom-paristech.fr) Bogdan Cautis (bogdan.cautis@telecom-paristech.fr) Ioana Ileana (ioana.ileana@telecom-paristech.fr)

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Compte rendu d activité Fiche n 1

Compte rendu d activité Fiche n 1 Compte rendu d activité Fiche n 1 Alexandre K. (http://ploufix.free.fr) Nature de l activité Création d une base de connaissances avec PostgreSQL Contexte : Le responsable technique souhaite la mise en

Plus en détail

Pratique et administration des systèmes

Pratique 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étail

Joomla! Création et administration d'un site web - Version numérique

Joomla! 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étail

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

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

Plus en détail

Avant-propos. Contexte et présentation des technologies SharePoint. Méthodologie et préparation du projet Chapitre 2. Chapitre 1

Avant-propos. Contexte et présentation des technologies SharePoint. Méthodologie et préparation du projet Chapitre 2. Chapitre 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI210SHAF dans la zone de recherche et validez. Cliquez sur le titre

Plus en détail

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

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

Plus en détail

Créez votre premier site web De la conception à la réalisation

Créez votre premier site web De la conception à la réalisation Chapitre 1 : Introduction A. Introduction 17 Chapitre 2 : Les langages A. L objectif 21 B. L HTML 21 1. L état des lieux 21 2. Les éléments HTML 21 3. Les attributs 22 4. Les caractères 23 5. Les espaces

Plus en détail

Apprendre à développer avec JavaScript

Apprendre à développer avec JavaScript Présentation du langage JavaScript 1. Définition et rapide historique 11 2. Pré-requis pour un apprentissage aisé du langage 13 3. Outillage nécessaire 14 4. Positionnement du JavaScript face à d autres

Plus en détail

Plone, un outil de gestion de contenu web. frederic.saintmarcel@inrialpes.fr philippe.lecler@irisa.fr

Plone, un outil de gestion de contenu web. frederic.saintmarcel@inrialpes.fr philippe.lecler@irisa.fr Plone, un outil de gestion de contenu web frederic.saintmarcel@inrialpes.fr philippe.lecler@irisa.fr Plan Historique Architecture logicielle Installation et composants Personnalisation Retour d expérience

Plus en détail

Retour d expérience Inria sur sa GED

Retour d expérience Inria sur sa GED Retour d expérience Inria sur sa GED DSI SESI 13 octobre 2015 SOMMAIRE 1. Solution Alfresco 2. Implémentation Alfresco chez Inria 3. Cas d usage 13 octobre 2015-2 1 Solution Alfresco 13 octobre 2015-3

Plus en détail

INTEGRATEUR DEVELOPPEUR

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

Plus en détail

ARCHITECTURE CLIENT / SERVEUR

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

Plus en détail

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Comparatif 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étail

VIDEOS MANAGER v1.1. Documentation utilisateur Français. Videos Manager v1.1 2014 1 of 21 [ contact@dryss.com http://www.dryss.

VIDEOS MANAGER v1.1. Documentation utilisateur Français. Videos Manager v1.1 2014 1 of 21 [ contact@dryss.com http://www.dryss. VIDEOS MANAGER v1.1 Documentation utilisateur Français Videos Manager v1.1 2014 1 of 21 TABLE DES MATIERES TABLE DES MATIERES... 2 PRESENTATION... 4 Licence... 4 A propos... 4 Support... 4 INSTALLATION

Plus en détail

Google Apps : boostez la productivité de vos équipes via le partage de documents, de vidéos et de sites

Google Apps : boostez la productivité de vos équipes via le partage de documents, de vidéos et de sites Google Apps : boostez la productivité de vos équipes via le partage de documents, de vidéos et de sites Présentation des outils de collaboration GoogleApps permet une collaboration sécurisée et en temps

Plus en détail

Logiciel d analyse du monde des objets connectés intelligents

Logiciel d analyse du monde des objets connectés intelligents Logiciel d analyse du monde des objets connectés intelligents Le défi : Transformer les données en intelligence décisionnelle Le logiciel SkySpark analyse automatiquement les données issues des équipements

Plus en détail

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows.

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les services «Microsoft SharePoint» offrent aux utilisateurs Windows un ensemble de fonctions de stockage de

Plus en détail

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

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

Plus en détail

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces

http://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étail

FileMaker Server 11. Publication Web personnalisée avec PHP

FileMaker Server 11. Publication Web personnalisée avec PHP FileMaker Server 11 Publication Web personnalisée avec PHP 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 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étail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Vulnérabilités logicielles Injection SQL Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI 1 Plan SQL Injection SQL Injections SQL standards Injections SQL de requêtes

Plus en détail

WysiUpStudio. 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 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étail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

@promt Expert 8.0. Description abrégée. Avantages. PROMT Translation Software

@promt Expert 8.0. Description abrégée. Avantages. PROMT Translation Software @promt Expert 8.0 Description abrégée Conçu pour les utilisateurs experts et les agences de traduction, @promt Expert 8.0 offre toutes les caractéristiques de @promt Professional avec en plus : Intégration

Plus en détail

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres),

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), Terminologie ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), RUBRIQUE : contenant d'articles et/ou de rubriques

Plus en détail

Atelier 1. Portails documentaires : BioLib et Cemadoc

Atelier 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étail

Le Web pour les informaticiens Les métiers. Programmation web PHP et bases de données. Les métiers rédactionnels. Les métiers des concepteurs

Le Web pour les informaticiens Les métiers. Programmation web PHP et bases de données. Les métiers rédactionnels. Les métiers des concepteurs Le Web pour les informaticiens Le Web pour les informaticiens Programmation web PHP et bases de données Les métiers La conception du site web Jean-Christophe Dubacq IUT de Villetaneuse S3 2013 PHP et bases

Plus en détail

Chapitre 1 Créer votre site web avec Dreamweaver 8 11

Chapitre 1 Créer votre site web avec Dreamweaver 8 11 Chapitre 1 Créer votre site web avec Dreamweaver 8 11 1.1. Installer Dreamweaver sur votre ordinateur... 12 1.2. Découvrir l interface de Dreamweaver... 15 La manipulation de l interface... 16 La gestion

Plus en détail

Rewics (04 mai 2011) - Atelier : «L'informatique dans les nuages (cloud computing) : vraie révolution ou pétard mouillé?». The Dark Side Of The

Rewics (04 mai 2011) - Atelier : «L'informatique dans les nuages (cloud computing) : vraie révolution ou pétard mouillé?». The Dark Side Of The Rewics (04 mai 2011) - Atelier : «L'informatique dans les nuages (cloud computing) : vraie révolution ou pétard mouillé?». The Dark Side Of The Cloud. Robert Viseur (robert.viseur@cetic.be) Qui suis-je?

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition)

MySQL 5 (versions 5.1 à 5.6) Guide de référence du développeur (Nouvelle édition) Avant-propos 1. Les objectifs de ce livre 13 2. Les principaux sujets qu'aborde ce livre 13 3. À qui s adresse ce livre? 14 4. Les pré-requis 14 Introduction à MySQL 1. Introduction aux bases de données

Plus en détail

Hacking et Forensic Développez vos propres outils en Python

Hacking et Forensic Développez vos propres outils en Python Le réseau 1. Introduction 11 2. Les sockets 12 2.1 Création d'un socket 12 2.2 Échange de données 13 2.3 Les erreurs 14 2.4 Socket et FTP 17 2.5 Utilisation de l'udp 19 3. Création d'un serveur 20 3.1

Plus en détail

Alfresco 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 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étail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales 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étail

PRETASHOP. Etre à l'aise avec l'utilisation d'un ordinateur et d'internet. Maitriser les bases de Microsoft Word.

PRETASHOP. Etre à l'aise avec l'utilisation d'un ordinateur et d'internet. Maitriser les bases de Microsoft Word. PRETASHOP LES OBJECTIFS : Vous verrez comment installer Joomla! localement puis sur un serveur distant, concevoir l organisation de votre site, rédiger vos premiers articles, maitriser les feuilles de

Plus en détail

Introduction à GeoKettle un outil ETL spatial open source

Introduction à GeoKettle un outil ETL spatial open source Introduction à GeoKettle un outil ETL spatial open source par Etienne Dubé et Thierry Badard {etienne.dube,thierry.badard}@scg.ulaval.ca Groupe de recherche GeoSOA (http://geosoa.scg.ulaval.ca) Université

Plus en détail

CREATION WEB DYNAMIQUE

CREATION 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étail

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

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

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 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étail

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)

SharePoint 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étail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Le web dans l entreprise Sommaire Introduction... 1 Intranet... 1 Extranet...

Plus en détail

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

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

Plus en détail

Sommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23

Sommaire. 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étail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE 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étail

MANUEL 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: 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étail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Magento. 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

Magento. 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étail

SQL SERVER 2008 Le 20/10/2010

SQL SERVER 2008 Le 20/10/2010 Définitions SQL SERVER 2008 Le 20/10/2010 Une base de données est un objet particulièrement difficile à définir puisqu il est abordé en pratique selon différents points de vue : Pour un administrateur,

Plus en détail

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique Les requêtes Oracle XML DB Du modèle relationnelle au modèle Hiérarchique Sommaire Rappel des modèles Le modèle relationnel Le modèle hiérarchique Leurs différences Oracle XML DB Les types de XMLType Les

Plus en détail

Panorama des outils de veille. Myriel Brouland I-Expo 17 Juin 2009

Panorama des outils de veille. Myriel Brouland I-Expo 17 Juin 2009 Panorama des outils de veille Myriel Brouland I-Expo 17 Juin 2009 1 La veille s est affirmée en tant que discipline : Elle s inscrit dans un démarche d optimisation du management de l information au sein

Plus en détail

Créez et administrez vos sites Web

Créez et administrez vos sites Web Joomla! 3.3 Créez et administrez vos sites Web Didier MAZIER Table des matières.. 1 Chapitre 1 : Découvrir Joomla! A. Les raisons de créer un site sous Joomla!.. 9 B. Se documenter sur Joomla! 9 C. La

Plus en détail

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA contact : patrick.hède@cea.fr Commissariat à l'energie Atomique GdR isis : Passage à l'échelle dans la recherche

Plus en détail

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB L I O N E L M É D I N I S E P T E M B R E - D É C E M B R E 2 0 0 9 Objectif de ce cours Prendre conscience de l existence de nombreux

Plus en détail

WordPress Développez avec PHP extensions, widgets et thèmes avancés (théorie, TP, ressources)

WordPress Développez avec PHP extensions, widgets et thèmes avancés (théorie, TP, ressources) Avant-propos 1. Introduction 17 2. À qui s adresse cet ouvrage? 18 3. Les pré-requis 18 4. Les objectifs du livre 19 Introduction à WordPress 1. Introduction 21 2. Qu'est-ce que WordPress? 21 2.1 La licence

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

XML et Bases de données. XMLType Oracle XML DB

XML et Bases de données. XMLType Oracle XML DB Oracle XML DB Oracle XML DB Depuis la version 9i et de façon enrichie dans la version 10g, Oracle propose des outils pour gérer des documents XML Depuis la 10g il n'y a plus d'extraction car auparavant

Plus en détail

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source JOOMLA Introduction Joomla est un système de gestion de contenu CMS open source Il permet la conception rapide de sites Web avec une présentation soignée et une navigation très simple C est l outil idéal

Plus en détail

Sites web MVC Damien Nouvel

Sites web MVC Damien Nouvel Sites web MVC Plan Architecture MVC Vues / interface Contrôleur / application 2 / 17 Plan Architecture MVC Vues / interface Contrôleur / application 3 / 17 Architecture MVC MVC Méthode de conception d'interface

Plus en détail

TECHNIQUES D INTÉGRATION MULTIMÉDIA DIFFUSION EN LIGNE (582-KGB-JQ) 1-3-2

TECHNIQUES D INTÉGRATION MULTIMÉDIA DIFFUSION EN LIGNE (582-KGB-JQ) 1-3-2 TECHNIQUES D INTÉGRATION MULTIMÉDIA DIFFUSION EN LIGNE (582-KGB-JQ) 1-3-2 Enseignant : Serge Parent Bureau : 841.3G Téléphone : 418-547-2191, poste 7134 Courriel: serge.parent@cjonquiere.qc.ca Élève 2

Plus en détail

TYPO3, le CMS de référence

TYPO3, 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étail

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC) Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC) OBJECTIFS - Créer une boutique sous wordpress et la référencer. - Mise en place du contenu, des articles Une bonne connaissance

Plus en détail

Bureautique Introduction à Internet et à la recherche d information

Bureautique Introduction à Internet et à la recherche d information Bureautique Introduction à Internet et à la recherche d information Tarek Melliti Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) tarek.melliti@ibisc.univ-evry.fr Plan du cours

Plus en détail

Les outils libres du traducteur

Les outils libres du traducteur Didier Briel Consulting Traduction et conseil Les outils libres du traducteur Didier Briel didier@didierbriel.fr Rencontres informelles SFT Lyon mars 2011 mars 2012 Les outils libres du traducteur 1 Sommaire

Plus en détail