# Recevoir le contenu d'une page spécifique

**URL:** <https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586>\
**Category:** Feature request\
**Tags:** v4-0\
**Created:** [September 14, 2020, 4:08pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586 "2020-09-14T16:08:45Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![GabrielDeM](https://community.simplicite.io/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@GabrielDeM](https://community.simplicite.io/u/GabrielDeM)\
**Post date:** [September 14, 2020, 4:08pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/1 "2020-09-14T16:08:45Z")

</div>

Bonjour,

Excusez-moi d’avance si cette question a déjà été posée mais je n’arrive pas à trouver de topic similaire.

Jusqu’à maintenant, je faisais une requête GET sur cette url pour récupérer le contenu d’une page spécifique: [https://exemple.dev.simplicite.io/ext/KtcPageContent?page=nomDeLaPage](https://exemple.dev.simplicite.io/ext/KtcPageContent?page=nomDeLaPage)

J’aimerais savoir comment je peux faire la même chose mais en utilisant la librairie Simplicité Nodejs. J’ai bien mis mon endpoint à “ext/KtcPageContent” dans les paramètres de la session mais je ne vois pas quelle méthode utiliser pour juste rajouter la query page.

Autre chose, que se passe-il si je ne veux plus utiliser cet endpoint spécifique ? Dois-je recréer une session ?

Merci beaucoup pour votre aide !

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 14, 2020, 4:20pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/2 "2020-09-14T16:20:49Z")

</div>

Vous avez sur GitHub ne nombreux exemples d’usage de la lib sur [npmjs.com](http://npmjs.com) ([https://www.npmjs.com/package/simplicite](https://www.npmjs.com/package/simplicite)) qui est conçue pour interagir avec les **objets métier** Simplicité.

- Node.js : [https://github.com/simplicitesoftware/nodejs-demo](https://github.com/simplicitesoftware/nodejs-demo)
- Web sans framework : [https://github.com/simplicitesoftware/web-demo](https://github.com/simplicitesoftware/web-demo)
- Web avec Vue.js : [https://github.com/simplicitesoftware/vue-demo](https://github.com/simplicitesoftware/vue-demo)
- Web avec React : [https://github.com/simplicitesoftware/react-demo](https://github.com/simplicitesoftware/react-demo)
- Web avec Angular : [https://github.com/simplicitesoftware/angular-demo](https://github.com/simplicitesoftware/angular-demo)

Mais bon, s’il s’agit juste d’appeler une URL **publique** d’un **objet externe spécifique** vous n’avez pas du tout besoin de cette lib, utilisez les appels d’URL standards de la technologie que vous utilisez.

---

<div class="post-metadata">

**Author:** ![GabrielDeM](https://community.simplicite.io/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@GabrielDeM](https://community.simplicite.io/u/GabrielDeM)\
**Post date:** [September 14, 2020, 4:34pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/3 "2020-09-14T16:34:45Z")

</div>

Merci pour votre réponse.

Effectivement, je me suis déjà servis de ces exemples pour interagir avec les objets métier sur d’autres problématiques. Par contre, je ne veux pas utiliser et des appels d’URL standards et la librairie Simplicité pour mes autres cas. J’aimerais standardiser le tout.

Pourriez-vous me donner un exemple avec la librairie pour récupérer le même contenu que si j’utilisais l’URL avec un appel standard svp ?

J’ai essayé d’utiliser **getBusinessObject** mais cette méthode rajoute “json/obj” à l’endpoint.

Merci

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 14, 2020, 7:38pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/4 "2020-09-14T19:38:48Z")

</div>

Il n’y a rien actuellement dans la lib npm pour appeler une URL arbitraire (objet externe ou autre). Et clairement les méthodes dédiées à la manipulation des objets métier ne pourront en aucun cas être utilisée pour appeler autre chose que des objets **métier** (un objet externe n’a strictement rien à voir avec un objet métier).

Qu’est ce que votre objet métier `KtcPageContent` génère ?

Je pose la question car pour rentrer dans la logique des objets métier vous pouvez faire générer ce contenu non pas par un objet externe mais par une action ou une publication d’un objet métier que vous pourrez alors invoquer via la lib npm. S’il s’agit de contenu statique vous pouvez aussi le stocker dans un attribut HTML d’un objet métier, etc.

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 14, 2020, 8:45pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/5 "2020-09-14T20:45:14Z")

</div>

Pour info nous venons de publier une nouvelle version de la lib npm (version 1.1.14) avec ce qu’il faut pour appeler un objet externe, ce n’était pas très compliqué et ça enrichit la lib.

Exemple: [https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js](https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js)

PS: du coup j’ai requalifié votre post en “Feature request”

---

<div class="post-metadata">

**Author:** ![GabrielDeM](https://community.simplicite.io/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@GabrielDeM](https://community.simplicite.io/u/GabrielDeM)\
**Post date:** [September 15, 2020, 9:06am UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/6 "2020-09-15T09:06:45Z")

</div>

Bonjour David,

Merci beaucoup c’est exactement ce qu’il me faut ! Par contre, je ne vois toujours pas comment rajouter la query `page`. Pour répondre à votre question sur ce que génère `KtcPageContent`, j’obtiens toutes les valeurs possible de la query page (j’obtiens ce résultat en utilisant `getExternalObject`):  
 ![image](https://community.simplicite.io/uploads/default/original/2X/a/a06f94150c8e28c1650f77123b54e7ef382498a9.png)

J’ai essayé de mettre les paramètres de cette manière:

```auto
await this.$simplicite.getExternalObject("KtcPageContent").call({ page: 'root' })

```

mais ça renvoie exactement la même chose que sans paramètres.

Et de cette manière:

```auto
await this.$simplicite.getExternalObject("KtcPageContent?page=root").call()

```

mais ça me renvoie ce message: `External object KtcPageContent%3Fpage%3Droot not granted`.

Y a-t-il un moyen de le faire ou cela n’existe pas encore également ?

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 15, 2020, 9:28am UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/7 "2020-09-15T09:28:01Z")

</div>

> [@GabrielDeM](#):
>
> `await this.$simplicite.getExternalObject("KtcPageContent").call({ page: 'root' })`

Comme ça ça devrait marcher mais ce n’est peut être pas le cas, c’est une évolution express d’hier soir…

Je vais vérifier le passage des paramètres

---

<div class="post-metadata">

**Author:** ![GabrielDeM](https://community.simplicite.io/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@GabrielDeM](https://community.simplicite.io/u/GabrielDeM)\
**Post date:** [September 15, 2020, 1:27pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/8 "2020-09-15T13:27:56Z")

</div>

D’accord je comprend, merci pour votre aide. J’attend votre retour.

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 15, 2020, 1:35pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/9 "2020-09-15T13:35:42Z")

</div>

On est en train de faire l’évolution, on la publie dès que possible

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [September 15, 2020, 3:40pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/10 "2020-09-15T15:40:28Z")

</div>

La version 1.1.15 de la lib a été poussée, l’interface de la methode `call` d’`ExternalObject` a changé avec un attribut en plus pour les data POST vs les params d’URL (ex: en GET)

Cf l’exemple des tests unitaires: [https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js](https://github.com/simplicitesoftware/nodejs-api/blob/master/test/test-external.js)

Ca reste des méthodes expérimentales (donc suceptibles d’evolutions futures non compatibles ascendantes) car la variabilité des cas possibles avec un objet externe est, par contsruction, très large.

---

<div class="post-metadata">

**Author:** ![GabrielDeM](https://community.simplicite.io/letter_avatar_proxy/v4/letter/g/eada6e/32.png) [@GabrielDeM](https://community.simplicite.io/u/GabrielDeM)\
**Post date:** [September 16, 2020, 12:31pm UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/11 "2020-09-16T12:31:37Z")

</div>

Super, ça marche parfaitement. Merci beaucoup pour votre réactivité et votre aide !

---

<div class="post-metadata">

**Author:** ![scampano](https://community.simplicite.io/user_avatar/community.simplicite.io/scampano/32/10010_2.png) [@scampano](https://community.simplicite.io/u/scampano)\
**Post date:** [March 21, 2022, 10:13am UTC](https://community.simplicite.io/t/recevoir-le-contenu-dune-page-specifique/2586/12 "2022-03-21T10:13:25Z")

</div>


