Aller au contenu

Requêtes

Sous sa forme la plus générale, une requête utilisable dans Yesplan est composée de 3 éléments et se présente comme suit :

scope:keyword:word

Quelques exemples :

  • event:name:Othello (Rechercher tous les événements dont le nom contient « Othello »)
  • resource:role:"ingénieur du son" (Rechercher toutes les ressources ayant pour rôle ingénieur du son)

Le scope d’une requête détermine le type d’élément recherché. Si vous cherchez uniquement des événements, utilisez le scope event ; pour les ressources, utilisez resource, et ainsi de suite. L’aperçu des scopes vous présente un aperçu de tous les scopes supportés par Yesplan. Notez qu’un scope est toujours un terme anglais, même si Yesplan est configuré en français.

Le keyword détermine la propriété recherchée d’un élément. Il peut s’agir, par exemple, de name, location, date, label, etc. L’aperçu des keywords vous présente un aperçu de tous les keywords valides et utilisables dans le langage de requête de Yesplan, ainsi que de leur scope. Notez aussi qu’un keyword est toujours un terme anglais, même si Yesplan est configuré en français.

Le word est le dernier élément d’une requête. Il décrit la valeur textuelle que vous recherchez au sein de la propriété que vous avez indiquée à l’aide du keyword. Par exemple : la requête resource:role:son recherchera toutes les ressources dont le rôle contient le nom « son ». Notez que le word spécifié dans la requête (par exemple « son ») ne doit être qu’une partie de la valeur effective dans Yesplan. La requête ci-dessus retrouvera donc aussi toutes les ressources ayant pour rôle « ingénieur du son ».

Notez que le word n’est pas sensible à la casse : « jan » donne donc le même résultat que « Jan ».

Requêtes simples§

Expliquons plus en détail les concepts ci-dessus à l’aide de quelques exemples.

Prenez la requête suivante :

event:name:othello

Le scope de cette requête est event, le keyword est name et le word est othello.

Le résultat de cette requête sera une liste de tous les événements dont le nom contient « othello ». Le word ne doit donc pas correspondre exactement à la valeur de la propriété, mais peut être une partie de cette valeur. Dans l’exemple ci-dessous, vous voyez que les événements nommés « Othello », « Othello 1 », « Othello 2 » et « Othello 3 » figurent parmi les résultats. Notez que cette règle vaut pour la plupart des keywords dont la propriété recherchée est un nom ou un morceau de texte, comme name. Toutefois, pour les keywords dont la propriété recherchée est une date ou un nombre, la correspondance devra être exacte.

Notez qu’un word ne peut pas contenir d’espaces. Il est toutefois possible d’introduire des termes de recherche contenant des espaces en entourant le word de guillemets ("…"), par exemple :

group:name:"The Film Festival"

Le résultat de cette requête contiendra, par exemple, le groupe d’événements nommé « The Film Festival ».

Outre les espaces, un word ne peut contenir aucun des signes suivants : * # : ( ). En effet, ces signes font partie de la syntaxe du langage de requête, comme expliqué par la suite. Si vous souhaitez malgré tout utiliser l’un de ces signes dans un word, vous devrez également recourir à des guillemets.

Si le type d’élément que vous souhaitez rechercher n’a pas d’importance, vous pouvez omettre le scope de la requête dans la fenêtre de recherche générale. Supposons que nous voulions chercher tous les éléments de Yesplan portant une étiquette « location ». Cette opération est possible à l’aide de la requête suivante :

label:location

Le résultat est une liste de plusieurs types d’éléments, par exemple un événement, une ressource et un contact. Consultez « keywords avec des scopes par défaut » pour un aperçu complet des keywords permettant cette opération.

Enfin, il est possible également d’omettre le keyword d’une requête et d’introduire uniquement un word. Dans ce cas, le langage de requête recherchera tous les éléments de Yesplan dont le nom contient ce word.

Par exemple :

othe

Le résultat de cette requête affichera les événements « Othello », « Othello 1 », « Othello 2 » et « Othello 3 », ainsi que le groupe d’événements « Othello production ».

Absence de valeurs§

Un cas particulier supporté par le langage de requête est celui d’un word vide entouré de guillemets (""). Si vous l’utilisez, c’est l’absence de valeur qui sera vérifiée pour le keyword. Par exemple, la requête suivante retrouvera toutes les personnes sans étiquette :

person:label:""

L’absence d’une valeur sera vérifiée uniquement lorsque le keyword est d’application. Pour les ressources, par exemple, le keyword team n’est d’application que pour les ressources de type « humain », seules les ressources de ce type pouvant faire partie d’une équipe. La requête ci-dessous retrouvera toutes les ressources pour lesquelles le keyword team est d’application, mais ne contient aucune valeur. Le résultat donnera toutes les ressources de type « humain » qui ne font pas partie d’une équipe. Le résultat ne contient aucune ressource d’un autre type.

resource:team:""

Si vous souhaitez consulter un aperçu des événements sans lieu, vous pouvez utiliser la requête suivante :

event:location:""

Gardez à l’esprit que le comportement des groupes d’événements est légèrement différent :

group:location:""
group:location:"Salle de Théâtre"

La première requête ne fera apparaître que les groupes d’événements pour lesquels aucun événement n’a de lieu. La deuxième requête fera apparaître seulement les groupes d’événements pour lesquels au moins un événement a lieu dans la Salle de Théâtre.

Utilisation d’un joker§

Pour indiquer que la valeur d’une propriété donnée n’a pas d’importance, vous pouvez utiliser un « joker » (wildcard). Ce joker se note par un astérisque (*). Le joker a l’effet inverse de celui d’un word vide ("") et vérifier la présence d’une valeur.

La requête suivante retrouvera toutes les ressources, quel que soit leur type :

resource:type:*

Notez que si vous utilisez un joker comme word, vous n’obtiendrez que des résultats pour lesquels une valeur existe pour le keyword utilisé.

Prenez, par exemple, la requête suivante :

person:label:*

Cette requête retrouve toutes les personnes dotées d’une étiquette ; les personnes sans étiquette ne seront pas affichées.

Lorsqu’un keyword n’est pas d’application, il ne peut y avoir aucune valeur. La requête suivante retrouvera toutes les ressources qui font partie d’une équipe. Il s’agira forcément de ressources du type « humain » : le keyword team ne peut s’appliquer qu’à ce type de ressources, parce qu’elles sont les seules à pouvoir faire partie d’une équipe.

resource:team:*

Le joker peut aussi être utilisé comme keyword. Ainsi, la requête suivante retrouvera tous les contacts pour lesquels n’importe quelle propriété contient la valeur « jan ».

contact:*:jan

Utilisation de dates et de périodes§

Le langage de requête offre des fonctions étendues, permettant d’interroger le système sur la base de propriétés telles qu’une date ou une période déterminée.

Dans le cas des dates, il est possible de rechercher une correspondance exacte avec une date déterminée. Une date est indiquée au format jj-mm-aaaa (jour, mois, année). Par exemple, la requête suivante retrouvera tous les événements qui ont lieu le 28 mars 2013 :

event:date:28-03-2013

Remarque

Dans le cas des keywords dont la propriété recherchée est une date, les règles applicables pour trouver une correspondance sont donc différentes que dans le cas des propriétés textuelles. Dans le cas des propriétés textuelles, on considère qu’il y a correspondance si la valeur de la propriété contient le word spécifié. Dans le cas des dates, la correspondance sera exacte.

Le langage de requête offre aussi la possibilité d’utiliser une période comme word. Une période se note à l’aide de deux dates, séparées par TO. Notez qu’il est nécessaire de séparer les dates de l’opérateur TO par un espace. Dans ce cas, il y a correspondance si la date tombe dans la période indiquée. Par exemple, la requête suivante permet de retrouver tous les événements du 15 mars au 30 mars 2013 inclus :

event:date:15-03-2013 TO 30-03-2013

Outre la recherche par date spécifique ou par période spécifique, le langage de requête propose également plusieurs words particuliers qui peuvent être utilisés pour une sélection par date.

Par exemple :

event:date:#today

Cette requête utilise le word #today pour limiter la recherche à tous les événements qui ont lieu aujourd’hui. Voici d’autres words particuliers du même type :

Word Description
#tomorrow la date correspond à demain
#yesterday la date correspond à hier
#thisweek la date tombe pendant la semaine en cours ; il s’agit de la semaine qui commence lundi dernier et continue jusqu’à dimanche prochain inclus
#previousweek la date tombe pendant la semaine dernière ; il s’agit de la semaine qui prend fin avant lundi dernier
#nextweek la date tombe pendant la semaine prochaine ; il s’agit de la semaine qui commence après dimanche prochain
#thismonth la date tombe pendant le mois calendrier en cours
#previousmonth la date tombe pendant le mois calendrier dernier
#nextmonth la date tombe pendant le mois calendrier prochain
#thisyear la date tombe pendant l’année calendrier en cours
#previousyear la date tombe pendant l’année calendrier dernière
#nextyear la date tombe pendant l’année calendrier prochaine
#nextXdays la date tombe pendant les X jours calendrier à partir d’aujourd’hui ; #next1days donne le même résultat que #tomorrow
#previousXdays la date tombe pendant les X jours calendrier avant aujourd’hui ; #previous1days donne le même résultat que #yesterday
#nextXweeks la date tombe pendant les X semaines calendrier à partir de la semaine calendrier en cours ; #next1weeks donne le même résultat que #nextweek
#previousXweeks la date tombe pendant les X semaines calendrier avant la semaine calendrier en cours ; #previous1weeks donne le même résultat que #previousweek
#nextXmonths la date tombe pendant les X mois calendrier à partir du mois calendrier en cours ; #next1months donne le même résultat que #nextmonth
#previousXmonths la date tombe pendant les X mois calendrier avant le mois calendrier en cours ; #previous1months donne le même résultat que #previousmonth
#nextXyears la date tombe pendant les X années calendrier à partir de l’année calendrier en cours ; #next1years donne le même résultat que #nextyear
#previousXyears la date tombe pendant les X années calendrier avant l’année calendrier en cours ; #previous1years donne le même résultat que #previousyear

Notez que dans les keywords #nextX… et #previousX…, il faut remplacer le X par un nombre ; event:date:#nextXdays ne fonctionnera pas, tandis que event:date:#next7days fonctionnera.

Consultation de données personnalisées§

Le langage de requête nous permet aussi de rechercher des éléments de Yesplan sur la base de la valeur de champs de données personnalisées. Dans ce cas, le keyword du champ de données personnalisées doit être utilisé comme keyword dans la requête. Vous pouvez laisser Yesplan générer automatiquement les keywords des champs de données personnalisées ou vous pouvez configurer vos propres keywords manuellement.

Astuce

Consultez la section Keyword pour en savoir plus sur la configuration automatique ou manuelle des keywords dans les paramètres du système.

Dans l’exemple ci-dessous, vous voyez un champ de données personnalisées portant l’étiquette « Manager », auquel est assigné automatiquement le keyword production_info_manager.

Vous pouvez ensuite rechercher toutes les ressources ayant « Sarah Peeters » pour « Manager » à l’aide de la requête suivante :

resource:production_info_manager:"Sarah Peeters"

Astuce

Vous souhaitez retrouver facilement le keyword des champs de données personnalisées dans une fenêtre d’information ? Appuyez alors simultanément sur les touches CTRL-ALT (Windows) ou CTRL-Option (macOS) : l’étiquette du champ sera remplacée par le keyword. Vous souhaitez copier le keyword ? Cliquez alors sur l’étiquette tout en maintenant enfoncées les mêmes touches.

L’illustration ci-dessous montre la définition d’un champ de données personnalisées portant l’étiquette « Operator » et auquel l’administrateur a manuellement assigné le keyword operator.

Toutes les réservations de ressources pour lesquelles ce champ de données personnalisées a la valeur « Jan Janssens » peuvent alors être retrouvées à l’aide de la requête suivante :

resourcebooking:operator:"Jan Janssens"

Remarque

Si vous configurez votre propre keyword pour un champ de données personnalisées, vous ne pourrez plus utiliser le keyword généré automatiquement pour ce champ dans le langage de requête :

  • La requête resourcebooking:production_info_operator:"Jan Janssens" ne fonctionnera plus si le keyword operator a été assigné à ce champ.
  • En revanche, vous pourrez utiliser resourcebooking:operator:"Jan Janssens".

Lors de la recherche d’un champ oui/non, la valeur doit être introduite en anglais. Utilisez donc les valeurs yes, no, true ou false. Par exemple, si vous souhaitez interroger un champ de données personnalisées pour rechercher des ressources endommagées, vous pouvez utiliser la requête suivante :

resource:properties_state_damaged:yes

Enfin, vous pouvez aussi rechercher le statut de publication d’un événement dans la billetterie intégrée.

  • event:touchedepublication-keyword:active affiche tous les événements de Yesplan associés à l’intégration.
  • event:touchedepublication-keyword:"" affiche tous les événements de Yesplan qui ne sont pas associés à une intégration.
  • event:touchedepublication-keyword:error cherche tous les événements de Yesplan pour lesquels une erreur est survenue lors de l’association à l’intégration.

Consultation des champs numériques§

Dans le cas des keywords dont la propriété recherchée est un chiffre, les règles pour trouver une correspondance sont différentes dans le cas des propriétés textuelles.

Dans le cas des propriétés textuelles, on considère qu’il y a correspondance si la valeur de la propriété contient le word spécifié. Par exemple : la requête event:name:othello retrouvera l’événement « Othello », ainsi que l’événement intitulé « Othello 2 ».

Dans le cas des chiffres, on considère qu’il y a correspondance si la valeur correspond exactement. Par exemple : si le keyword d’un champ de données personnalisées numérique est places_disponibles, le résultat de la requête event:places_disponibles:23 ne trouvera que les événements pour lesquels la valeur du champ de données personnalisées est exactement égale à « 23 », mais pas les événements pour lesquels la valeur du champ de données personnalisées est « 123 » ou « 234 ».

Notez que cette correspondance exacte ne vaut pas pour les champs de saisie ordinaires dans lesquels vous saisissez (systématiquement ou non) un nombre. Un champ numérique est un type spécifique de champ de données personnalisées.

Consultation des adresses des contacts§

Un contact peut avoir une ou plusieurs adresses. Chacune de ces adresses est d’un certain type. Une des adresses de chaque contact sera toujours marquée comme étant « par défaut » : il s’agit de l’adresse par défaut. Les types d’adresses sont gérés via les paramètres du système.

Les keywords address, street, zip, city, country et countrycode s’appliquent toujours à l’adresse par défaut. Le langage de requête prévoit toutefois aussi des keywords pour tous les différents types d’adresses possibles d’un contact. Ces variantes sont formées du keyword par défaut, précédé du nom du type d’adresse et d’un _ (tiret de soulignement).

Par exemple, pour le type d’adresse « Facturation », les variantes sont les keywords facturation_address, facturation_street, facturation_zip, facturation_city, facturation_country et facturation_countrycode.

Notez que, pour la création du keyword, les mêmes règles sont d’application que dans le cas de l’attribution automatique du keyword pour les champs de données personnalisées : les espaces et les caractères spéciaux (tels que ! ? ; et ainsi de suite) sont supprimés et les majuscules sont remplacées par des minuscules. (Un administrateur peut également retrouver le mot-clé dans les paramètres du système, dans le volet « Types d’adresses » de l’onglet « Contacts ».)

Par exemple, pour le type d’adresse « Siège Social », les mots-clés sont siegesocial_address, siegesocial_zip, etc.

Les variantes des mots-clés s’appliquent toujours à l’adresse d’un type déterminé, qu’elle soit marquée « par défaut » ou non.

Par exemple, avec la requête contact:city:Gand, vous recherchez tous les contacts dont la commune de l’adresse par défaut contient « Gand ». Avec la requête contact:facturation_city:Gand, vous recherchez tous les contacts dont la commune de l’adresse du type « facturation » contient le word « Gand ».