Introduction
Gérez les pages de votre site web et les écrans de votre application mobile avec un 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 :
Sans le module Pages (codé en dur) :
- Modifier la page d'accueil → Changer le code → Tester → Déployer → Attendre ❌
- 10 pages = 10 fichiers de code à gérer ❌
- Changements SEO = changements de code ❌
Avec le module Pages (dynamique) :
- Modifier la page d'accueil → Mettre à jour dans l'administration de OneEntry → En direct instantanément ✅
- 100 pages = récupérer dynamiquement depuis l'API ✅
- Changements SEO = mise à jour dans le panneau d'administration ✅
✨ 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 :
| Type | Description | Exemple d'utilisation |
|---|---|---|
| Page Normale | Page statique standard | À propos, Contact, Conditions |
| Page d'Erreur | Pages d'erreur 404, 500 | Page Non Trouvée |
| Page Système | Pages spéciales | Politique de Confidentialité, Cookies |
| Page Modèle | Structure de page réutilisable | Modèle d'article de blog |
Hiérarchie des Pages
Les pages peuvent être organisées dans une structure arborescente :
📁 Entreprise
├─ À propos de nous
├─ Équipe
└─ Carrières
📁 Produits
├─ Catégorie de Produit 1
│ ├─ Produit A
│ └─ Produit B
└─ Catégorie de Produit 2
Pourquoi cela compte : Vous pouvez récupérer toutes les pages dans une section ou construire des menus de navigation automatiquement.
📋 Ce que vous devez savoir
Deux façons d'identifier les Pages
| Méthode | Quand l'utiliser | Exemple |
|---|---|---|
| Par URL | L'utilisateur visite une page spécifique | /about-us, /contact |
| Par ID | Références internes | 123, 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, // ID unique
"parentId": 8, // ID parent
"moduleFormConfigs": [], // Configurations du module Forms
"pageUrl": "blog1", // URL de la page
"depth": 1, // profondeur
"localizeInfos": { // informations de localisation
"title": "Blog 1", // titre
"menuTitle": "Blog 1", // titre du menu
"htmlContent": "",
"plainContent": "",
},
"isVisible": true, // visibilité
"blocks": [], // blocs
"type": "common_page", // type de page
"templateIdentifier": null, // identifiant de modèle
"attributeSetIdentifier": null, // identifiant de l'ensemble d'attributs
"attributeValues": {}, // valeurs des attributs
"isSync": false, // synchronisation
}
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éthode | Ce qu'elle fait | Quand 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 les 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 Marqueur ?
-
URL (
pageUrl) - L'adresse web que les utilisateurs voient (par exemple,/about-us,/contact)- Utilisé pour le routage
- Convivial
-
Marqueur - Identifiant technique dans le code (par exemple,
homepage,contact_page)- 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: 1etisVisible: truepour la production - Ajoutez des états de chargement dans l'UI
- Mettez en œuvre 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
- Module Produits - Gérer les produits e-commerce
- Module Blocs - Blocs de contenu réutilisables pour les pages
- Module AttributesSets - Champs personnalisés pour les pages
- Module Menus - Gestion des menus de navigation