Introduction
🎯 Que fait ce module ?​
Le module GeneralTypes vous permet de récupérer les types d'entités à l'échelle du système - types de pages, types de formulaires, types de blocs de produits, et plus encore - qui définissent la structure et les catégories de votre contenu dans OneEntry.
Considérez-le comme votre système de classification de contenu - OneEntry utilise des types pour organiser différents types de pages (page d'accueil, article de blog, page produit), formulaires (contact, enquête), blocs (hero, galerie), et produits (physiques, numériques), et ce module vous permet de récupérer tous les types disponibles pour construire des interfaces dynamiques.
📖 Explication Simple​
Dans OneEntry, chaque entité a un type qui détermine son but et sa structure :
- Types de Pages :
homepage,blog_post,product_page,landing_page - Types de Formulaires :
contact_form,survey,registration,feedback - Types de Blocs de Produits :
hero_section,image_gallery,text_block,video_embed - Types de Produits :
physical_product,digital_product,service,subscription
Le module GeneralTypes fournit la liste complète de tous les types configurés dans votre projet OneEntry, afin que vous puissiez :
✅ Construire des menus déroulants dynamiques - Permettre aux admins de choisir le type de page lors de la création de contenu
âś… Filtrer le contenu - Afficher uniquement les pages "blog_post" ou les formulaires "contact_form"
✅ Valider les données - Vérifier si un type existe avant de créer une entité
✅ Créer une logique basée sur le type - Afficher une interface utilisateur différente en fonction du type de page
Exemple concret :
Votre application de blog récupère tous les types de pages :
- "homepage" → Affiche le carrousel des articles en vedette
- "blog_post" → Affiche la mise en page de l'article avec des commentaires
- "about_page" → Affiche les cartes des membres de l'équipe
- "contact_page" → Affiche le formulaire de contact
✨ Concepts Clés​
Hiérarchie du Système de Types​
OneEntry organise le contenu en utilisant un système de types où chaque entité appartient à une catégorie :
| Entité | Exemples de Types | But |
|---|---|---|
| Pages | homepage, blog_post, product_page, landing_page | Définir les mises en page et la fonctionnalité des pages |
| Formulaires | contact_form, survey, registration, feedback | Catégoriser les différents objectifs des formulaires |
| Blocs de Produits | hero_section, gallery, text_block, video_embed | Blocs de construction pour les pages de produits |
| Produits | physical_product, digital_product, service, subscription | Classifier l'inventaire des produits |
Structure de l'Entité de Type​
Chaque type retourné par GeneralTypes.getAllTypes() a cette structure :
interface GeneralTypeEntity {
id: number; // ID numérique unique (ex. : 1, 2, 3)
type: string; // Nom du type (ex. : "blog_post", "contact_form")
}
Quand Utiliser GeneralTypes​
| Cas d'Utilisation | Pourquoi GeneralTypes ? |
|---|---|
| Construction de l'interface admin CMS | Remplir les menus déroulants avec les types disponibles |
| Création de filtres par type | Permettre aux utilisateurs de filtrer le contenu par type (articles de blog vs. pages d'atterrissage) |
| Validation de la création d'entités | Vérifier si un type existe avant de créer une page/formulaire |
| Routage dynamique | Diriger différents types de pages vers différents composants |
| Permissions basées sur le type | Permettre à différents rôles d'accéder à différents types de contenu |
📋 Ce Que Vous Devez Savoir​
Les types sont configurés dans le Panneau d'Administration OneEntry​
Vous ne créez pas de types via le SDK - les types sont définis dans votre panneau d'administration OneEntry lorsque vous configurez votre projet. Le module GeneralTypes ne fait que récupérer la liste des types existants.
Comment les types sont créés :
Panneau d'Administration OneEntry → Paramètres → Types de Contenu → Ajouter un Type de Page → "blog_post"
Une fois créés, vous pouvez les récupérer.
Types vs. Marqueurs vs. IDs​
Distinction importante :
| Identifiant | Ce Que C'est | Exemple | Meilleur Pour |
|---|---|---|---|
| Type | Catégorie/classification de l'entité | "blog_post" | Filtrage et regroupement |
| Marqueur | Identifiant unique lisible par l'homme | "my_about_page" | Récupération d'entités spécifiques |
| ID | Identifiant numérique de la base de données | 42 | Utilisation interne du système |
getAllTypes() retourne TOUS les types à travers toutes les entités​
La méthode retourne une liste combinée de types provenant de :
- Pages
- Formulaires
- Blocs de Produits
- Produits
- Toute autre entité dans votre projet OneEntry
Il n'y a pas de filtrage intégré par catégorie d'entité, donc vous devrez filtrer manuellement :
Les types sont sensibles à la casse​
Utilisez toujours une correspondance exacte de la casse lorsque vous travaillez avec des types.
Utilisez des types pour le rendu de contenu dynamique​
Les types permettent un contenu polymorphe - une logique de rendu différente en fonction du type :
📊 Tableau de Référence Rapide​
| Méthode | Description | Cas d'Utilisation |
|---|---|---|
| getAllTypes() | Récupère tous les types généraux dans le système | Remplir des menus déroulants, valider des types |
Structure de GeneralTypeEntity :
{
id: number; // ID numérique unique
type: string; // Nom du type (ex. : "blog_post")
}
❓ Questions Fréquemment Posées (FAQ)​
Comment créer de nouveaux types ?​
Vous ne pouvez pas créer de types via le SDK. Les types sont créés dans le Panneau d'Administration OneEntry :
1. Connectez-vous au Panneau d'Administration OneEntry
2. Allez dans Paramètres → Types de Contenu
3. Cliquez sur "Ajouter un Type de Page" (ou Type de Formulaire, Type de Produit, etc.)
4. Entrez le nom du type : "blog_post"
5. Enregistrez
Récupérez-le maintenant via le SDK :
const types = await GeneralTypes.getAllTypes();
// Retourne : [{ id: 1, type: "blog_post" }, ...]
Comment filtrer les types par entité (pages, formulaires, produits) ?​
La méthode getAllTypes() retourne tous les types à travers toutes les entités. Vous devez filtrer manuellement.
Puis-je mettre à jour ou supprimer des types via le SDK ?​
Non. Le module GeneralTypes est en lecture seule. Toute gestion des types se fait dans le Panneau d'Administration OneEntry.
Quelle est la différence entre l'ID de type et le nom de type ?​
Quand utiliser chacun :
| Champ | Utilisé Pour | Exemple |
|---|---|---|
id | Références internes au système | Relations de base de données |
type | Votre logique de code et comparaisons | if (page.type === 'blog_post') |
Meilleure pratique : Utilisez toujours la chaîne type dans votre code, pas le nombre id (les IDs peuvent changer entre les environnements).
Puis-je mettre en cache la liste des types ?​
Oui ! Les types changent rarement, donc le cache est recommandé.
Comment gérer les types manquants de manière élégante ?​
Validez toujours qu'un type existe avant de l'utiliser.
Puis-je utiliser des types pour l'autorisation/permissions ?​
Oui ! Vous pouvez mettre en œuvre un contrôle d'accès basé sur le type.
💡 Notes Importantes​
⚠️ Les types sont spécifiques au projet​
Les types sont configurés dans votre panneau d'administration OneEntry et varient d'un projet à l'autre. Il n'y a pas de types "par défaut" universels - récupérez toujours la liste de manière dynamique :
// ❌ Ne pas coder en dur les types
const pageTypes = ['homepage', 'blog_post', 'product_page'];
// ✅ Récupérer les types de manière dynamique
const allTypes = await GeneralTypes.getAllTypes();
const pageTypes = allTypes.filter(t => t.type.endsWith('_page'));
🔒 Module en Lecture Seule​
Le module GeneralTypes ne lit que les types. Toute création, modification et suppression de types se fait dans le Panneau d'Administration OneEntry.
🎓 Meilleures Pratiques​
- Récupérer les types de manière dynamique - Ne pas coder en dur les listes de types
- Mettre en cache les types - Ils changent rarement, mettez en cache pour des performances optimales
- Utiliser des chaînes de type, pas des IDs - Les noms de types sont stables entre les environnements
- Valider l'existence des types - Vérifiez si un type est valide avant de l'utiliser
- Utiliser des conventions de nommage - Un nommage cohérent facilite le filtrage
- Mettre en œuvre un rendu de secours - Gérer les types inconnus de manière élégante
- Documenter vos types - Maintenir une liste des types et de leurs objectifs
- Utiliser TypeScript pour la sécurité des types - Tirer parti de l'interface
GeneralTypeEntity
Définition du module GeneralTypes​
Le module GeneralTypes dans la plateforme OneEntry est conçu pour gérer et récupérer les types généraux utilisés dans le système. En utilisant la fonction defineOneEntry, vous pouvez créer un objet GeneralTypes pour interagir avec ces types. La méthode principale disponible est getAllTypes, qui récupère tous les objets de type GeneralTypeEntity depuis l'API. Cette méthode retourne une promesse qui se résout en un tableau d'objets GeneralTypeEntity, chacun contenant un id et un type. Les types couvrent divers objectifs, tels que les mises en page de pages, les formulaires, les blocs de produits, et plus encore, offrant une flexibilité pour différents besoins de gestion de contenu.
const { GeneralTypes } = defineOneEntry( "your-project-url", { "token": "your-app-token" });