Aller au contenu principal

Introduction

Gérez les pages de votre site web et les écrans de votre application mobile avec du contenu dynamique.

🎯 Que fait ce module ?

Le module Pages vous permet de créer, récupérer et gérer des pages (pour les sites web) ou des écrans (pour les applications mobiles) avec tout leur contenu - texte, images, paramètres SEO et attributs personnalisés.

Considérez-le comme votre système de gestion de contenu - au lieu de coder en dur les pages, vous les gérez dans OneEntry et les récupérez dynamiquement dans votre application.

📖 Explication Simple

Imaginez que vous construisez un site web avec ces pages :

  • 🏠 Page d'accueil - page d'atterrissage principale
  • 📄 À propos de nous - informations sur l'entreprise
  • 📞 Contact - page de formulaire de contact
  • 📝 Articles de blog - plusieurs pages d'articles
  • FAQ - centre d'aide

Au lieu de créer chaque page manuellement dans votre code, vous :

  • ✅ Créez des pages dans le panneau d'administration de OneEntry (avec contenu, images, SEO)
  • ✅ Récupérez les pages dynamiquement en utilisant ce module
  • ✅ Mettez à jour le contenu sans redéployer votre application
  • ✅ Gérez la structure des pages, les URL et les métadonnées en un seul endroit

Exemple concret :

Without Pages Module (hardcoded):
- Edit homepage → Change code → Test → Deploy → Wait ❌
- 10 pages = 10 code files to manage ❌
- SEO changes = code changes ❌

With Pages Module (dynamic):
- Edit homepage → Update in OneEntry admin → Live instantly ✅
- 100 pages = fetch dynamically from API ✅
- SEO changes = update in admin panel ✅

✨ Concepts Clés

Qu'est-ce qu'une Page ?

Une page est une entité de contenu qui représente :

  • Web : Une page sur votre site web (par exemple, /about, /contact)
  • Mobile : Un écran dans votre application (par exemple, Écran de Profil, Écran des Paramètres)

Chaque page contient :

  • Contenu - Texte, images, vidéos
  • URL - Adresse de la page (par exemple, /about-us)
  • SEO - Titre méta, description, mots-clés
  • Attributs personnalisés - Tous les champs supplémentaires que vous définissez
  • Statut - Publié, brouillon, archivé
  • Localisation - Support multilingue

Types de Pages

OneEntry prend en charge différents types de pages :

TypeDescriptionExemple d'utilisation
Page CommunePage statique standardÀ propos, Contact, Conditions
Page de CataloguePages de cataloguePages de catalogue
Page ExternePages externesPages externes
Page d'ErreurPages d'erreur 404, 500Page Non Trouvée

Hiérarchie des Pages

Les pages peuvent être organisées dans une structure arborescente :

📁 Company
├─ About Us
├─ Team
└─ Careers

📁 Products
├─ Product Category 1
│ ├─ Product A
│ └─ Product B
└─ Product Category 2

Pourquoi cela est important : Vous pouvez récupérer toutes les pages d'une section ou construire des menus de navigation automatiquement.

📋 Ce que vous devez savoir

Deux façons d'identifier les Pages

MéthodeQuand l'utiliserExemple
Par URLL'utilisateur visite une page spécifique/about-us, /contact
Par IDRéférences internes123, 456

Meilleure pratique : Utilisez id dans le code (ils ne changent pas), utilisez URLs pour le routage.

Structure de la Page

Chaque page a ces champs clés :

{
"id": 9, // unique ID
"parentId": 8, // parent ID
"moduleFormConfigs": [], // Forms module configurations
"pageUrl": "blog1", // page URL
"depth": 1, // depth
"localizeInfos": { // localization info
"title": "Blog 1", // title
"menuTitle": "Blog 1", // menu title
"htmlContent": "",
"plainContent": "",
},
"isVisible": true, // visibility
"blocks": [], // blocks
"type": "common_page", // page type
"templateIdentifier": null, // template identifier
"attributeSetIdentifier": null, // attribute set identifier
"attributeValues": {}, // attribute values
"isSync": false, // sync
}

Localisation (Multilingue)

Les pages prennent en charge plusieurs langues

Même page, différentes langues !

Attributs Personnalisés

Vous pouvez ajouter n'importe quel champ aux pages en utilisant AttributesSets :

Exemples :

  • Articles de blog : auteur, date de publication, tags, image à la une
  • Pages de produits : prix, SKU, galerie, spécifications
  • Pages d'atterrissage : image principale, boutons CTA, témoignages

En savoir plus : Voir Module AttributesSets


📊 Tableau de Référence Rapide - Méthodes Courantes

MéthodeCe qu'elle faitQuand l'utiliser
getPages()Récupérer toutes les pages (paginé)Construire un plan du site, lister toutes les pages
getRootPages()Récupérer toutes les pages racines (paginé)
getChildPagesByParentUrl()Récupérer toutes les pages enfants par ParentUrl (paginé)
getBlocksByPageUrl()Récupérer des objets PositionBlock pour la page par URL.Les blocs sont utilisés pour rendre le contenu de la page.
getConfigPageByUrl()Récupérer les paramètres pour la page par URL.Les pages de configuration sont utilisées pour stocker les paramètres de la page.
getPageById()Récupérer une seule page.Les pages sont utilisées pour rendre la page.
getPageByUrl()Récupérer une seule page par URL.Les pages sont utilisées pour rendre la page.
searchPage()Recherche rapide de pages avec sortie limitée.Rechercher des pages par titre, description, tags, etc.

❓ Questions Fréquemment Posées (FAQ)

Quelle est la différence entre URL et ID ?

  • URL (pageUrl) - L'adresse web que les utilisateurs voient (par exemple, /about-us, /contact)

    • Utilisé pour le routage
    • Convivial
  • ID - Identifiant technique dans le code (par exemple, 123, 124)

    • Utilisé dans les références de code
    • Technique, pas visible par l'utilisateur

💡 Notes Importantes

URLs des Pages et Routage

Meilleure pratique pour le routage :

✅ Bon : Route dynamique catch-all Exemple Next.js : pages/[...slug].js


Mise en Cache pour la Performance

Réduisez les appels API avec la mise en cache.


Prévisualisation des Brouillons

Montrez les pages brouillons uniquement aux administrateurs.


🎓 Meilleures Pratiques

  • Mettez en cache les pages pour réduire les appels API
  • Gérez les erreurs 404 avec élégance
  • Filtrez par statusId: 1 et isVisible: true pour la production
  • Ajoutez des états de chargement dans l'interface utilisateur
  • Implémentez une stratégie de mise en cache des pages

Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/category/pages


Définition du module Pages


const { Pages } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Documentation Connexe