Service :: Détail d'une activité
L'URL permettant d'accéder aux détails d'une activité spécifique se construit sur base de l'identifiant de l'activité; que l'on notera activityId:
{siteUrl}/{activityId}/xml
L'URL de chaque activité récupérée via le service get/activities est incluse dans la réponse de ce service.
Le retour du service de détail d'une activité est illustré ci-dessous.
â ïžÂ Ceci n'est qu'un exemple: plusieurs variantes des tags illustrĂ©s existent (notamment en cas de contenu bilingue) et sont dĂ©crits ci-aprĂšs.
<Activity type="object" id="52897" iid="52897" className="Activity">
<title>Tennis passion</title>
<creator>admin</creator>
<created type="DateTime">2025/05/06 16:17:8.693788 GMT+2</created>
<modified type="DateTime">2025/05/06 20:42:45.268810 GMT+2</modified>
<modifier>admin</modifier>
<summary>Initiation au tennis, par un ancien pro</summary>
<description><p>Le tennis s'apprend dÚs le plus jeune ùge. C'est une école de vie, de discipline, de persévérance et de dépassement de soi.</p>
<p>C'est un exemple de chemin difficile mais passionnant qui produit bonheur et plaisir.</p>
<p>Amateur de padel et autres dérivés du jokari, passe ton chemin.</p></description>
<variety>standard</variety>
<externalUrl/>
<internalUrl>http://{siteUrl}/register/activity?id=52897</internalUrl>
<publicUrl>http://{siteUrl}/52897/view?popup=True&pageLayout=w*aw*center</publicUrl>
<picture type="file" mimeType="image/png" name="tennis.png">
<part type="base64" number="1">iVBORw0KGg...</part>
</picture>
<languages type="list" count="2">
<e>fr</e>
<e>nl</e>
</languages>
<capacityDict type="dict">
<entry type="object">
<k>62897</k>
<v type="object" className="Object">
<capacity type="int">10</capacity>
</v>
</entry>
<entry type="object">
<k>62898</k>
<v type="object" className="Object">
<capacity type="int">10</capacity>
</v>
</entry>
</capacityDict>
<periodType>normal</periodType>
<domain>tennis</domain>
<ageSlice/>
<minAge type="float">4.0</minAge>
<maxAge type="float">6.0</maxAge>
<agePrices type="bool">False</agePrices>
<pricesPerAge/>
<schoolLevels/>
<equipment>Tout est prévu</equipment>
<registerParents>impossible</registerParents>
<fiscal type="bool">False</fiscal>
<insurance type="bool">False</insurance>
<medical type="bool">False</medical>
<blockingMedical type="bool">False</blockingMedical>
<targets type="list" count="1">
<e type="object" className="Object">
<url>{siteUrl}/49627/xml</url>
<id>jeunesse</id>
</e>
</targets>
<tags type="list" count="1">
<e type="object" className="Object">
<url>http://{siteUrl}/49594/xml</url>
<id>sport</id>
</e>
</tags>
<citizenPrice>100 âŹ</citizenPrice>
<partnerXml><a> href="https://tennis.passion.sport">Tennis Passion<a>/a<a></partnerXml>
<periods type="list" count="2"/>
<e>{siteUrl}/62897/xml</e>
<e>{siteUrl}/62898/xml</e>
</periods>
<innerPeriods/>
<placeTitle>Club de tennis M.A.R.S</placeTitle>
</Activity>
Les sous-sections suivantes donnent tous les détails au sujet de ce type de réponse.
Zones de texte
Chaque activité est décrite par quatre zones de texte :
- son titre (tag title)Â ;
- un rĂ©sumĂ© (tag summary), zone de texte non formatĂ© mais pouvant sâĂ©tendre sur plusieurs lignes ;
- une description (tag homonyme), plus complĂšte, sous la forme dâune zone de texte riche au format XHTMLÂ ;
- des dĂ©tails horaires (tag scheduleDetails), sous la forme d'une ligne de texte. Ces dĂ©tails (non illustrĂ©s sur l'exemple ci-dessus) sont optionnels et donnent des prĂ©cisions sur lâhoraire et lâĂ©ventuelle rĂ©currence de lâactivitĂ©.
Si le site rEve est configuré en mode bilingue, pour chacun de ces champs de texte, la structure est plus complexe et inclut les versions dans les deux langues supportées (en général, le français et le néerlandais).
En voici un exemple.

Voici un exemple du tag summary en mode bilingue.

Un exemple du tag description en mode bilingue.

Et enfin, un exemple du tag scheduleDetails en mode bilingue.

Ces structures XML sont le rĂ©sultat du marshalling dâun dictionnaire Python (une table associative).
Notez que, sur certains sites qui auraient activĂ© le bilinguisme seulement Ă partir d'une certaine date, toute activitĂ© dont la date de crĂ©ation serait antĂ©rieure Ă cette date ne disposeront pas de cette structuration bilingue, mais bien de la structuration standard telle que prĂ©sentĂ©e dans l'exemple de base. Dans cette structuration standard, la langue utilisĂ©e pour rĂ©diger le contenu des tags peut ĂȘtre soit le français, soit le nĂ©erlandais, sans quâaucun autre Ă©lĂ©ment nâindique de quelle langue il sâagit.
DĂšs quâune activitĂ© adopte le mode bilingue, outre la structuration plus complexe de certains tags, un tag additionnel nommĂ© languages prĂ©cise la ou les langues qui seront utilisĂ©es lors de lâactivitĂ©. Ce tag est illustrĂ© ci-dessous.

La plupart du temps, il s'agira d'une liste d'un seul Ă©lĂ©ment, contenant soit fr, soit nl, ou toute autre langue configurĂ©e sur le logiciel. Il y a cependant des activitĂ©s qui se donnent dans plusieurs langues en mĂȘme temps (en gĂ©nĂ©ral, 2).
Les exemples ci-dessus sont tous illustrĂ©s avec le français et le nĂ©erlandais, mais sachez que rEve peut ĂȘtre configurĂ© avec toutes les langues telles que listĂ©es dans la norme ISO 639-1.
Type et variĂ©tĂ© de lâactivitĂ©
Le type de lâactivitĂ©, dont les valeurs possibles sont dĂ©jĂ dĂ©crites dans le service get/activities, est repris sous le tag periodType (il ne sâappelle pas activityType pour des raisons historiques). Sa variĂ©tĂ© est spĂ©cifiĂ©e via le tag variety. Les valeurs lĂ©gales de ce dernier tag sont reprises dans le tableau ci-dessous.
| Valeur |
Description |
standard |
Une activité proposée sur ce site, payante (sauf éventuelles exceptions) et requérant une inscription. |
free |
Une activité gratuite mais requérant néanmoins une inscription via ce site. |
open |
Une activité gratuite ne requérant aucune inscription, encodée sur ce site dans l'unique but d'en faire la publicité. |
external |
Une activité publiée via ce site mais dont l'inscription se fait via un site externe. |
Selon la variĂ©tĂ©, une URL est ou non mise Ă disposition, permettant de dĂ©marrer le processus dâinscription Ă cette activitĂ© via clic depuis un site externe.
- Pour les activités de variété « standard » et « free », le tag internalUrl est fourni. Pour toute autre variété, le tag est vide.
- Pour les activitĂ©s de variĂ©tĂ© « external », le tag externalUrl contient lâURL fournie par le site externe via lequel lâinscription peut se rĂ©aliser. Pour toute autre variĂ©tĂ©, ce tag est vide.
- Pour les activitĂ©s de variĂ©tĂ© « open », tant le tag internalUrl quâexternalUrl sont vides.
Publics-cibles et tags
Chaque activitĂ© peut ĂȘtre flaggĂ©e avec plusieurs publics-cibles (tag nommĂ© targets) et plusieurs tags (tag nommĂ© tags).
Sur lâexemple de base, lâactivitĂ© sâadresse au public « Jeunesse » et porte sur la thĂ©matique reprĂ©sentĂ©e par le tag « Sport ».
Deux services distincts vous permettent de récupérer les listes de publics-cibles et tags actuellement activés, donnant, pour chacun, un identifiant et une éventuelle description.
Ăquipement Ă apporter
Si lâactivitĂ© requiert que les participants apportent un matĂ©riel quelconque, celui-ci peut ĂȘtre dĂ©crit dans le tag equipment. Ce tag, si rempli, contient une chaĂźne de caractĂšres sans formatage ni passage Ă la ligne.
Dans le contexte dâune activitĂ© au contenu bilingue, le tag equipment lâest Ă©galement et aura une structuration telle dâillustrĂ©e ci-dessous.

Photo ou image
Une photo ou une image illustrant lâactivitĂ© peut ĂȘtre prĂ©sente dans le tag picture, structurĂ© comme expliquĂ© dans la page d'introduction Ă l'API, section Fichiers binaires.
Pour rappel, lâimage est dĂ©coupĂ©e en segments, chacun contenant une de ses parties, encodĂ©e en Base64. Pour reconstituer lâimage, il est plus performant de dĂ©coder chaque segment puis de concatĂ©ner le rĂ©sultat dans un objet de type stream. Il se peut que lâimage soit dâun autre type que celui de lâexemple ci-dessus (gĂ©nĂ©ralement : JPEG, PNG ou GIF).
Périodes et capacités
Une activitĂ© est programmĂ©e pour survenir lors dâune ou plusieurs pĂ©riodes. Une pĂ©riode peut reprĂ©senter :
-
une semaine complĂšte,
-
un intervalle plus rĂ©duit, allant jusquâau jour unique pour un Ă©vĂ©nement ou un excursion ;
-
un intervalle plus vaste, pouvant par exemple reprĂ©senter une tranche de plusieurs mois, dans le contexte dâactivitĂ©s parascolaires (par exemple, du 1er septembre au 31 dĂ©cembre).
Chaque pĂ©riode, au sein d'un site rEve, dispose dâun identifiant.
Le tag capacityDict, prĂ©sent sur chaque activitĂ©, contient une double information : la liste des pĂ©riodes auxquelles lâactivitĂ© est programmĂ©e, ainsi que le nombre de places maximal pour chacune de ces pĂ©riodes. En voici un exemple.

Dans cet exemple, similaire Ă l'exemple de base, lâactivitĂ© est programmĂ©e Ă 2 pĂ©riodes : la 6035 et la 6037. Pour chacune dâentre elles, le nombre maximum de participants est de 16. Il est le mĂȘme pour les 2 pĂ©riodes mais aurait tout aussi bien pu ĂȘtre diffĂ©rent.
Périodes internes et périodes externes
Les pĂ©riodes associĂ©es Ă une activitĂ© peuvent ĂȘtre externes ou internes. Une pĂ©riode externe correspond Ă une pĂ©riode prĂ©dĂ©finie, standardisĂ©e, comme une pĂ©riode de vacances scolaires, quâil est opportun de dĂ©finir Ă lâavance, indĂ©pendamment de toute activitĂ©. Lors de lâencodage dâune activitĂ©, on peut alors sĂ©lectionner la ou les pĂ©riodes externes auxquelles lâactivitĂ© a lieu. Lorsquâune activitĂ© est liĂ©e Ă une ou plusieurs pĂ©riodes externes, le tag periods est tel que reprĂ©sentĂ© sur l'exemple de base, repris ci-dessous.
<periods type="list" count="2"/>
<e>{siteUrl}/62897/xml</e>
<e>{siteUrl}/62898/xml</e>
</periods>
Il est possible, via une requĂȘte HTTP GET supplĂ©mentaire, de rĂ©cupĂ©rer des informations dĂ©taillĂ©es au sujet de chaque pĂ©riode. LâURL dâune pĂ©riode, illustrĂ©e ci-dessus, se construit sur base de son identifiant numĂ©rique (notons-le <ID>). La forme de cette URL est la suivante.
{appURL}/{ID}/xml
Une requĂȘte de ce type produit le rĂ©sultat dĂ©crit ici.
Toute activitĂ© ne se prĂȘte pas facilement au jeu des pĂ©riodes externes. Une activitĂ© reprĂ©sentant un Ă©vĂ©nement, par exemple, dĂ©finira un ou plusieurs crĂ©neaux horaires ou une ou plusieurs plages de dates qui lui sont spĂ©cifiques. Dans ce cas, rEve permet de lui dĂ©finir une ou plusieurs pĂ©riodes internes, propres Ă lâactivitĂ©. Chaque pĂ©riode interne peut reprĂ©senter un crĂ©neau horaire au sein dâune mĂȘme journĂ©e ou, Ă lâinstar des pĂ©riodes externes, une plage de dates couvrant plusieurs jours. Lorsquâune activitĂ© dĂ©finit une ou plusieurs pĂ©riodes internes, voici comment cela se reprĂ©sente.

Les champs dâune pĂ©riode interne sont similaires Ă ceux d'une pĂ©riode externe, dĂ©crits ici.
Prix
Le prix de lâactivitĂ© est contenu dans le tag citizentPrice. Dans sa forme la plus simple, il contient uniquement un montant, suffixĂ© du symbole « euro », comme illustrĂ© sur l'exemple de base.
<citizenPrice>100 âŹ</citizenPrice>
Le contenu de ce tag peut cependant prendre des formes plus complexes. Si lâactivitĂ© sâĂ©tend sur plusieurs pĂ©riodes et que le prix nâest pas identique dâune pĂ©riode Ă lâautre, une prĂ©cision est indiquĂ©e entre parenthĂšses, comme montrĂ© ci-dessous.
<citizenPrice>90 ⏠(70⏠pour les semaines du 14/08 au 18/08, du 28/08 au 01/09)</citizenPrice>
Dans cet exemple, il sâagit dâune activitĂ© proposĂ©e sur diverses semaines de lâĂ©tĂ© ; parmi celles-ci, il y en a deux pour lesquelles le prix est moindre car lâactivitĂ© dure une journĂ©e de moins. En effet, le 15 aoĂ»t est fĂ©riĂ© et le 1er septembre est le jour de la rentrĂ©e des classes.
Si des prix dĂ©gressifs sont dâapplication, le contenu les explicite, incorporant Ă©galement du formatage XHTML, comme illustrĂ© ci-dessous.
<citizenPrice>95 ⏠<span class="discreet" style="margin-left:7px">2e enfant: 85⏠- 3e enfant: 75⏠- 4e enfant (et suivants): 65âŹ</span></citizenPrice>
Dans tous les cas de figure, les prix affichĂ©s dans le tag citizenPrice sont ceux payĂ©s par les habitants de la zone privilĂ©giĂ©e, dĂ©terminĂ©e par le code postal de lâassociation ou du pouvoir public gĂ©rant le site. Cela permet Ă ce dernier dâappliquer, sâil le souhaite, une majoration de prix pour les parents habitant en dehors de cette zone.
Restrictions d'accÚs basées sur l'ùge
Pour certains Ă©vĂ©nements ou certaines activitĂ©s, il se peut quâune restriction dâaccĂšs, gĂ©nĂ©ralement basĂ©e sur lâĂąge, soit dâapplication. Pour chaque type dâactivitĂ©s activĂ©, un modĂšle dâĂąge est configurĂ©.
Les modĂšles dâĂąge existants sont dĂ©crits dans le tableau suivant.
| Nom |
Description |
| Tranches dâĂąges fixes |
Il existe une sĂ©rie de tranches dâĂąges prĂ©dĂ©finies ; chaque activitĂ© du type doit spĂ©cifiquement viser une des tranches dâĂąges en question. Et si on souhaite dĂ©finir une activitĂ© portant sur plusieurs tranches dâĂąges, le logiciel crĂ©era autant dâactivitĂ©s de mĂȘme titre, une par tranche dâĂąge. |
| Tranches dâĂąges variables |
Pour chaque activitĂ© du type, un Ăąge minimum et un Ăąge maximum doit ĂȘtre encodĂ©. |
| Niveau scolaire |
Au lieu de se baser sur lâĂąge des participants, il sâagit ici de se baser sur leur niveau scolaire. Chaque activitĂ© du type utilisant ce modĂšle doit choisir de sâouvrir aux participants dâun ou plusieurs des niveaux scolaires tels que dĂ©finis dans le logiciel. |
| Aucun |
Aucun modĂšle dâĂąge nâest appliquĂ© : les activitĂ©s du type configurĂ© de la sorte seront ouvertes Ă tout participant. |
Dans l'exemple, l'activité, via son type normal (stage), applique le modÚle "Tranches d'ùges variables", avec encodage d'un ùge minimum et d'un ùge maximum dans les tags minAge et maxAge.
<minAge type="float">4.0</minAge>
<maxAge type="float">6.0</maxAge>
Des nombres rĂ©els peuvent ĂȘtre utilisĂ©s : un stage peut par exemple ĂȘtre ouverts aux enfants de 2 ans et demi jusquâĂ 4 ans.
Pour d'autres types d'activités, notamment parascolaires, c'est le niveau scolaire qui est utilisé. Dans un tel cas, c'est le tag schoolLevels qui est utilisé. L'exemple suivant décrit une activité accessible aux enfants de la premiÚre à la sixiÚme primaire.

Lâensemble des valeurs possibles pour le niveau scolaire est dĂ©terminĂ© dans le tableau ci-dessous.
| Code |
Niveau scolaire |
acc |
Accueil |
m1 Ă m3 |
Les 3 niveaux de maternelle |
p1 Ă p6 |
Les 6 niveaux de primaire |
ps |
Primaire spécialisé |
s1 Ă s6 |
Les 6 niveaux de secondaire |
s1d |
PremiÚre secondaire différenciée |
s2d |
DeuxiÚme secondaire différenciée |
Le tableau suivant donne les tranches dâĂąges existantes, dans le contexte du modĂšle « Tranches dâĂąges fixes ». Quand ce type de modĂšle sâapplique, une seule des valeurs ci-dessous doit ĂȘre spĂ©cifiĂ©e dans le tag ageSlice. Notez que ce modĂšle a tendance Ă ĂȘtre abandonnĂ©.
| Valeur |
Tranche d'Ăąge |
small |
3 Ă 4 ans |
medium |
5 Ă 7 ans |
large |
8 Ă 12 ans |
xlarge |
13 Ă 15 ans |
Enfin, en ce qui concerne les activitĂ©s pour lesquelles aucun modĂšle dâage nâest dâapplication, tous les tags mentionnĂ©s seront vides. De maniĂšre gĂ©nĂ©rale, Ă chaque fois quâun modĂšle dâĂąge donnĂ© est appliquĂ© sur une activitĂ©, tous les tags relatifs aux autres modĂšles dâĂąge seront vides.
Lieu
Le lieu de l'activitĂ©, comme montrĂ© sur lâexemple, est repris dans le tag placeTitle. Si spĂ©cifiĂ©, il contient une chaĂźne de caractĂšres sans formatage ni passages Ă la ligne.
<placeTitle>Club de tennis M.A.R.S</placeTitle>
Partenaire
Le nom du partenaire qui propose lâactivitĂ© est dĂ©fini dans le tag partnerXml. Si le lien vers le site web du partenaire est renseignĂ© dans la base de donnĂ©e du logiciel, le tag le contiendra un lien comme illustrĂ© ci-dessous. Sinon, le tag ne contiendra que le nom du partenaire.
<partnerXml><a> href="https://tennis.passion.sport">Tennis Passion<a>/a<a></partnerXml>
Inscription des parents
Certaines activitĂ©s, telles des Ă©vĂ©nements, sont prĂ©vues pour des enfants, mais offrent la possibilitĂ© aux parents de sây inscrire en tant quâaccompagnants. Cette possibilitĂ© est formalisĂ©e par le tag registerParents dont les valeurs possibles sont listĂ©es ci-dessous.
| Valeur |
Accompagnement par le parent |
impossible |
Un parent ne peut pas sâinscrire avec son enfant |
optional |
Un parent peut sâinscrire, mais ce nâest pas obligatoire : lâenfant peut partciper seul Ă lâactivitĂ©. |
mandatory |
Il est obligatoire quâau moins un parent accompagne son enfant et soit inscrit. |
Tags additionnels
Des tags additionnels, non documentĂ©s et actuellement inutiles dans le contexte prĂ©cis de lâAPI publique d'un site rEve, peuvent ĂȘtre prĂ©sents au sein des fichiers XML dâactivitĂ©s. Ils doivent ĂȘtre simplement ignorĂ©s.