Se rendre au contenu

Le modèle de page du site : Comprendre l'architecture des pages du site Odoo

Un guide complet du modèle de page web d'Odoo pour les développeurs et les consultants fonctionnels.
11 mars 2026 par
Le modèle de page du site : Comprendre l'architecture des pages du site Odoo
Dasolo
| Aucun commentaire pour l'instant

Introduction


Dans Odoo, les modèles définissent comment les données sont structurées et stockées dans la base de données. Chaque élément de données commerciales avec lequel vous travaillez vit dans un modèle.


Comprendre les modèles Odoo est essentiel tant pour les développeurs que pour les consultants fonctionnels. Les modèles sont la base de l'architecture des données Odoo. Ils définissent les champs Odoo, les relations et la logique commerciale.


Cet article se concentre sur le modèle website.page. Il alimente les pages statiques de votre site Odoo. Que vous construisiez des pages d'atterrissage personnalisées, gériez du contenu ou intégriez des systèmes externes, vous travaillerez avec ce modèle.

Qu'est-ce que le modèle website.page


Le modèle website.page représente des pages de site web statiques dans Odoo. Il fait partie de l'application Website et stocke les pages que vous créez manuellement, telles que À propos de nous, Contact ou des pages d'atterrissage personnalisées.


Ce modèle dans Odoo utilise l'héritage de modèle Odoo. Il hérite de ir.ui.view via le mécanisme _inherits. Chaque enregistrement website.page est lié à une ir.ui.view qui contient le modèle QWeb (arch) et les métadonnées.

Les pages dynamiques, comme la boutique ou la liste de blog, sont générées différemment.


Elles ne sont pas stockées en tant qu'enregistrements website.page. Le modèle website.page est spécifiquement destiné au contenu statique que vous créez et modifiez via le constructeur de site web.

Champs clés dans le modèle


Voici les champs Odoo les plus importants dans le modèle website.page. Comprendre ceux-ci vous aidera à travailler efficacement avec les pages de site web.


1. nom

Type : Char. Ce champ stocke le titre de la page. Il est affiché dans l'onglet du navigateur, dans les menus et dans les résultats de recherche. Il provient de la ir.ui.view liée.


2. url

Type : Char. Le chemin URL de la page. Il doit commencer par une barre oblique. Exemples : /contactus, /about-us. C'est le chemin que les visiteurs utilisent pour accéder à la page.


3. view_id

Type : Many2one (ir.ui.view). Requis. Lien vers la vue QWeb qui contient le contenu de la page. La vue contient l'arch (modèle XML) et la clé. La suppression de la vue se répercute sur la page.


4. website_id

Type: Many2one (site web). Le site web auquel appartient cette page. Dans les configurations multi-sites, les pages peuvent être spécifiques à un site ou partagées (lorsqu'elles sont vides).


5. est_publiée

Type: Booléen. Indique si la page est visible pour les visiteurs. Les pages non publiées renvoient une erreur 404 ou redirigent. Utilisez ceci pour cacher des pages sans les supprimer.


6. site_indexé

Type: Booléen. Contrôle si les moteurs de recherche peuvent indexer la page. Réglez sur Faux pour les pages de remerciement ou les pages internes que vous ne souhaitez pas dans les résultats de recherche.


7. date_publication

Type: Datetime. La date de publication. Utilisé pour la publication programmée et pour afficher quand le contenu a été mis en ligne.


8. en_tête_visible

Type: Booléen. Indique si l'en-tête du site web doit être affiché sur cette page. Utile pour les pages d'atterrissage ou les expériences en plein écran où vous souhaitez cacher l'en-tête.


9. pied_de_page_visible

Type: Booléen. Indique si le pied de page du site web doit être affiché. Comme en_tête_visible, cela vous permet de créer des pages sans le pied de page standard.


10. est_page_d'accueil

Type: Booléen. Champ calculé. Vrai lorsque cette page est définie comme la page d'accueil du site web. Une seule page par site web peut être la page d'accueil.


11. est_visible

Type: Booléen. Calculé. Indique si la page est visible en fonction du statut de publication, de la date et des règles de visibilité.


12. menu_ids

Type: One2many (website.menu). Les éléments de menu qui lient à cette page. Une page peut apparaître dans plusieurs menus ou dans aucun.


13. create_date

Type: Datetime. Quand l'enregistrement a été créé. Géré automatiquement par Odoo. Utile pour l'audit et le reporting.


14. write_date

Type: Datetime. Quand l'enregistrement a été modifié pour la dernière fois. Également géré automatiquement. Aide à suivre les mises à jour de contenu.


15. arch

Type: Texte. Le modèle XML QWeb. Stocké sur le ir.ui.view lié. Contient la structure HTML et les extraits Odoo. Éditable via le constructeur de site web.


16. clé

Type : Char. Identifiant unique pour la vue. Utilisé dans le XML du module et pour l'héritage. Le format est généralement module.nom_vue.


17. type

Type : Sélection. Le type de vue. Pour les pages web, c'est toujours qweb. Les autres types incluent formulaire, liste et arbre.


18. actif

Type : Booléen. Indicateur de suppression douce. Lorsque c'est Faux, l'enregistrement est archivé. Provient de ir.ui.view. Les pages archivées ne sont pas servies.


19. website_meta_title

Type : Char. Titre méta SEO. Remplace le titre par défaut dans les résultats de recherche. Important pour la visibilité SEO.


20. website_meta_description

Type : Texte. Description méta SEO. L'extrait affiché dans les résultats des moteurs de recherche. Gardez-le entre 150 et 160 caractères pour un meilleur affichage.


21. website_meta_keywords

Type : Char. Mots-clés méta. Moins importants pour le SEO moderne mais encore utilisés par certains systèmes. Séparés par des virgules.


22. header_overlay

Type : Booléen. Indique si l'en-tête superpose le contenu. Utilisé pour les pages de style héros où l'en-tête se trouve au-dessus de la bannière.


23. couleur_en_tête

Type : Sélection. Schéma de couleur de l'en-tête. Options comme transparent, clair ou sombre. Affecte le contraste et la lisibilité.


24. visibilité

Type : Sélection. Contrôle d'accès. Les options incluent Public, Connecté, Groupe Restreint ou Avec Mot de Passe. Contrôle qui peut voir la page.


25. type_de_redirection

Type : Sélection. Lorsque l'URL change, cela définit la redirection : 301 permanent, 302 temporaire ou aucune. Important pour le SEO lors du déplacement des pages.

Comment ce modèle est utilisé dans les flux de travail commerciaux


1. Pages d'atterrissage et Campagnes

Les équipes marketing créent des pages d'atterrissage pour les campagnes. Chaque page est un enregistrement website.page. Elles contrôlent l'URL, le contenu et la date de publication. La publication programmée utilise date_publish.


2. Pages d'entreprise

À propos de nous, Contact, Conditions d'utilisation et Politique de confidentialité sont généralement des enregistrements website.page. Elles sont créées une fois et mises à jour au besoin. Le placement dans le menu est géré via menu_ids.


3. Pages de remerciement et de confirmation

Les pages comme "Formulaire de contact soumis" ou "Tâche reçue" sont des enregistrements website.page. Définissez website_indexed sur False afin qu'elles n'apparaissent pas dans les résultats de recherche.


4. Multi-site et localisation

Dans les configurations multi-sites, website_id détermine quel site affiche la page. Vous pouvez dupliquer des pages par site avec un contenu localisé.


5. Contenu protégé et accès restreint

Le champ de visibilité vous permet de créer des pages uniquement pour les utilisateurs connectés, ou pour des groupes spécifiques. Utile pour les zones réservées aux membres ou la documentation interne.

Comment les développeurs étendent ce modèle


Les développeurs étendent website.page en utilisant plusieurs modèles. L'héritage de modèle Odoo est le principal mécanisme.


Héritage de modèle

Utilisez _inherit = 'website.page' pour étendre le modèle. Ajoutez de nouveaux champs Odoo, remplacez des méthodes ou ajoutez des contraintes. Le modèle hérité dans Odoo conserve vos modifications dans un module séparé pour des mises à jour faciles.


Ajout de champs

Définissez de nouveaux champs Odoo dans votre modèle hérité. Utilisez le bon type de champ : Char, Many2one, Boolean, Integer, Text, Selection. Considérez les champs dépendants du site pour le multi-site.


Extensions Python

Remplacez create, write ou unlink pour ajouter de la logique. Utilisez super() pour appeler l'original. Faites attention à la relation view_id et au comportement de cascade.


Odoo Studio

Odoo Studio vous permet de personnaliser des pages sans code. Idéal pour des changements de mise en page rapides. Pour une logique complexe ou un contenu piloté par API, des modules personnalisés sont plus maintenables.

Meilleures pratiques


  • Utilisez des slugs compatibles avec les URL. Évitez les espaces et les caractères spéciaux. Utilisez des tirets pour la lisibilité.
  • Définissez website_indexed sur False pour les pages de remerciement, les pages de confirmation et les pages internes.
  • Lors de la modification des URL, activez la redirection (301 ou 302) pour préserver la valeur SEO et éviter les liens brisés.
  • Remplissez website_meta_title et website_meta_description pour chaque page publique. Cela améliore la visibilité SEO.
  • Lors de la création de pages via API ou XML-RPC, créez d'abord l'ir.ui.view, puis la website.page avec view_id. Assurez-vous que la vue a le type qweb et une clé unique.

Erreurs courantes


  • Création d'une website.page sans un view_id valide. La vue doit exister et avoir le type qweb.
  • Utilisation d'URL qui ne commencent pas par un slash. Odoo s'attend à des chemins comme /contactus, pas contactus.
  • Oublier de définir website_indexed sur les pages de remerciement. Elles apparaissent dans les résultats de recherche et peuvent diluer le SEO.
  • Changement d'une URL de page sans configurer de redirection. Les anciens liens se brisent et les moteurs de recherche perdent la connexion.
  • Modification de l'arch d'une vue qui a été éditée dans le constructeur de site. Le drapeau noupdate dans ir.model.data peut empêcher vos modifications XML de s'appliquer. Réinitialisez-le si nécessaire.

Conclusion


Le modèle website.page est central pour la gestion des pages statiques dans Odoo. Il stocke les métadonnées de la page, les URL et les paramètres de publication. Le contenu réel se trouve dans la vue liée ir.ui.view.


Comprendre ses champs et comment il hérite de ir.ui.view vous aidera à configurer, personnaliser et intégrer efficacement les sites Odoo. Que vous soyez consultant fonctionnel ou développeur, une bonne compréhension de website.page vous fera gagner du temps et évitera des erreurs.

Besoin d'aide pour votre implémentation Odoo ?


Dasolo aide les entreprises à mettre en œuvre, personnaliser et optimiser Odoo. Nous nous spécialisons dans les intégrations API et le développement Odoo. Notre équipe a une grande expérience de l'architecture des données Odoo et des modèles comme website.page.


Si vous avez besoin d'aide pour votre mise en œuvre Odoo, des pages de site Web personnalisées ou des intégrations, nous sommes là pour vous aider. Réservez une démo pour discuter de votre projet.

Le modèle de page du site : Comprendre l'architecture des pages du site Odoo
Dasolo 11 mars 2026
Partager cet article
Se connecter pour laisser un commentaire.