Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
scrutarijs
scrutarijs
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Scrutari
  • scrutarijsscrutarijs
  • Wiki
  • installation

Last edited by Vincent Calame Jan 22, 2020
Page history

installation

Prérequis

Pour fonctionner, le client ScrutariJs a besoin des deux bibliothèques suivantes :

  • JQuery : http://jquery.com/
  • JsRender, une extension de JQuery de gestion des gabarits (http://www.jsviews.com/#jsrender)

Les dernières versions de ces bibliothèques sont à télécharger sur leurs sites respectifs

Récupération du code de ScrutariJs

Les versions stables de Scrutari sont disponibles via la page de téléchargement.

Le code de ScrutariJs peut également être compilé à partir des sources comme indiqué dans le fichier README du projet.

Installation et déclaration dans l'entête HTML

Nous suivons ici la même structure de répertoire que dans le projet ScrutariJs Standalone, à savoir

static/
    bootstrap/3.3.7/
    jsrender/1.0.4/
    scrutarijs/

La première chose est de déclarer les bibliothèques :

<script src="static/jquery/3.4.1/jquery.min.js"></script>
<script src="static/jsrender/1.0.4/jsrender.min.js"></script>

puis ScrutariJs lui-même :

<script src="static/scrutarijs/scrutarijs.js"></script>
<script src="static/scrutarijs/l10n/fr.js"></script>
<script src="static/scrutarijs/frameworks/none.js"></script>
<link rel="stylesheet" href="static/scrutarijs/frameworks/none.css">
<link rel="stylesheet" href="static/scrutarijs/scrutarijs.css">

Dans cette déclaration, trois chemins sont susceptibles d'être modifié :

  • le fichier de localisation (ici il s'agit du français : l10n/fr.js), le répertoire l10n/ comprend la traduction du client dans différentes langues
  • le fichier Javascript et le fichier CSS du framework utilisé, (ici, il s'agit de « frameworks/none.js » et « frameworks/none.css », c'estun framework autonome sans rapport avec un existant), il faut indiquer celui correspondant à la bibliothèque que vous utilisez (pour le moment, seuls Bootstrap 2 et 3 sont proposés en plus de « none »).

Si le framework « none » est utilisé, il faut également rajouter le fichier CSS de thème :

<link rel="stylesheet" href="static/scrutarijs/frameworks/resources/theme.css">

Il est conseillé de faire une copie de ce thème et de le placer à un autre endroit. En effet, c'est ce fichier-là qui est le plus susceptible d'être modifié pour s'adapter à votre charter graphique. En le gardant à cet emplacement, vos modifications seront écrasées à la mise à jour suivante.

Dans le cas du client ScrutariJs Standalone, le fichier de localisation et celui de structure sont changés suivant les paramètres transmis au script PHP. Par exemple :

  • http://client.scrutari.net/?lang=en : version anglaise utilisant sur Bootstrap3
  • http://client.scrutari.net/?lang=en&framework=bootstrap2 : version anglaise adaptée à la bibliothèque Bootstrap2

Configuration et initialisation

La déclaration du client en deux lignes : la première pour créer une instance de Scrutari.Config et la deuxième pour lancer l'initialisation du client, comme le montre l'exemple ci-dessous :

<script>
$(function () {
        var scrutariConfig = new Scrutari.Config("coredem","http://sct1.scrutari.net/sct/coredem/", "en", "coredemjs-  coredem", {
             paginationLength: 50
         });
        Scrutari.Client.init(scrutariConfig, "mainContainer", {
            withCorpus: false,
            ficheTarget: "_blank",
            permalinkPattern: "http://client.scrutari.net/?engine=coredem&qid=$QID&lang=$LANG"      
        }, function (client) {
        });
    });
</script>

Scrutari.Config est une classe permettant de configurer l'accès au moteur Scrutari lui-même. Son constructeur prend cinq arguments :

  • le nom du moteur
  • l'URL du moteur (ne pas oublier le / final)
  • la langue d'interface (déterminant dans quelle langue sont nommés les éléments du moteur)
  • une chaine distingant le client dans les journaux de recherche du moteur
  • un objet options (facultatif) permettant d'indiquer les options suivantes :
    • dataType : mode d'interrogation Ajax (valeurs possibles "json" ou "jsonp"),
    • queryVariant : variante de champs à utiliser pour la recherche (en fonction de ce que propose le moteur)
    • ficheFields: champs demandés pour une fiche,
    • motcleFields: champs demandés pour un mot-clé,
    • paginationLength: nombre de fiches demandées par appel de résultats,
    • groupSortFunction : fonction utilisée pour trier les groupes de fiches.

Scrutari.Client.init lance l'initialisation qui consiste à interroger le moteur Scrutari pour récupérer les méta-données du moteur et à construire un objet Scrutari.Client et la structure HTML correspondante.

Scrutari.Client.init prend quatre arguments :

  • une instance de Scrutari.Config comprennant les informations de connexion
  • l'identifiant de l'élement de la page qui va servir de contenant (son contenu sera effacé), dans l'exemple donné, ce sera mainContainer
  • un objet d'options (voir ci dessous pour les options)
  • une fonction de rappel facultative à laquelle est passée l'instance de Scrutari.Client créée (utile pour une manipulation extérieure)

Les options du client sont les suivantes :

  • withCorpus : indique si les corpus doivent être indiqués plutôt que les bases, utile pour les moteurs centrés sur une base unique (défaut : false),
  • baseSort : indique le tri des bases, les valeurs possibles sont "fiche-count" (nombre de fiches), "title" (ordre alphabétique des titres) ou "none" (ordre d'apparition dans le moteur) (défaut : "fiche-count")
  • corpusSort : indique le tri des corpus, les valeurs possibles sont "fiche-count" (nombre de fiches), "title" (ordre alphabétique des titres) ou "none" (ordre d'apparition dans le moteur) (défaut : "fiche-count")
  • categorySort : indique le tri des catégories, les valeurs possibles sont "rank" (rang des catégories tel que définit par le moteur), "fiche-count" (nombre de fiches), "title" (ordre alphabétique des titres) (défaut : "rank")
  • langSort : indique le tri des catégories, les valeurs possibles sont "code" (Code ISO de la langue), "fiche-count" (nombre de fiches), "title" (ordre alphabétique des titres) (défaut : "code")
  • ignoreList : liste des éléments de structure à ignorer, permet de retirer certains élements sans avoir à reformuler le code, ce doit être une chaine où les éléments sont séparés par une virgule ou tableau (par exemple, ignoreList:"area-title,result-poweredby" ne va pas afficher le titre du moteur ainsi que la mention de Scrutari à la fin de la recherche) (défaut : null)
  • initialQuery: chaine de recherche initiale, autrement dit la recherche sera effectuée immédiatement, cette valeur souvent est remplie dynamiquement par le client (exemple : http://client.scrutari.net/?q=economie) (defaut : "")
  • initialQId : identifiant d'une recherche déjà effectuée à appliquer initialement, souvent remplie dynamiquement dans le cadre d'un permalien (exemple : http://client.scrutari.net/?engine=coredem&qid=2015-0312-0012-4&lang=fr)
  • initialFilters : objet contenant des filtres initiaux pour les bases, les corpus, les catégories et les langues (défaut : null)
    • corpuslist : liste des codes de corpus séparés par une virgule
    • baselist : liste des codes de corpus séparés par une virgule
    • categorylist : liste des noms de catégories séparés par une virgule
    • langlist : liste des codes de langues séparés par une virgule
  • permalinkPattern : patron pour la construction d'un permalien, il s'agit d'une URL avec contenant $QID et $LANG qui indique les positions d'insertion de l'identifiant de recherche et de la langue de l'interface (par exemple : "http://client.scrutari.net/?engine=coredem&qid=$QID&lang=$LANG") (défaut : null)
  • ficheTarget : cible des liens des fiches (attribut HTML target) (défaut : "_blank", pour l'ouverture dans un nouvel onglet)
  • ignoreIcon : si égal à true, indique qu'il ne faut afficher aucune icone (defaut : false)
  • ignoreThumbnail : si égal à true, indique qu'il ne faut afficher aucune vignette (defaut : false)
  • mainTitle : constructeur du titre principal du client, cela peut être une chaine (qui sera utilisée telle quelle) ou une fonction prenant le client comme argument (defaut: null)
  • ficheBodyList : liste des gabarits à appliquer pour le corps d'une fiche, cela peut être une chaine où les éléments sont séparés par une virgule ou un tableau, voir l'adaptation
  • hooks : objet possédant comme propriétés des fonctions à appliquer pour les points d'entrée définis dans le code Javascript (défaut: objet vide), voir l'adaptation
Clone repository
  • Téléchargement
  • adaptation v1
  • adaptation
  • Home
  • installation v1
  • installation