Skip to content

Permet de changer la couleur violette par défaut d'Odoo en une couleur personnalisée

License

Notifications You must be signed in to change notification settings

EdwinLocker/odoo-custom-theme-numeriques

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom Theme Color — Odoo 18

Odoo Version License Status

Module de personnalisation des couleurs pour Odoo 18, conçu pour remplacer la couleur violette par défaut (#875A7B) par les couleurs de votre charte graphique.


Structure du module

custom_theme/
├── __manifest__.py
├── data/
│   └── color_config.xml
├── views/
│   └── email_templates.xml
└── static/src/css/
    ├── variables.css   ← 🎨 SEUL FICHIER À MODIFIER
    ├── backend.css     ← Styles interface admin (ne pas toucher)
    └── portal.css      ← Styles interface client (ne pas toucher)

Rôle de chaque fichier

Fichier Rôle À modifier ?
variables.css Définition de toutes les couleurs via CSS custom properties ✅ Oui
backend.css Application des couleurs sur l'interface d'administration Odoo ❌ Non
portal.css Application des couleurs sur le portail client Odoo ❌ Non

backend.css et portal.css importent variables.css automatiquement. Toute modification dans variables.css se propage sur l'ensemble de l'interface.


Personnaliser les couleurs

Éditez uniquement static/src/css/variables.css, section 1 :

:root {
  /* Couleur principale : fonds navbar, headers, titres */
  --color-primary:   #0f343d;

  /* Couleur d'accent : boutons, survols, call-to-action */
  --color-secondary: #ff6100;
}

Si vous changez --color-primary ou --color-secondary, mettez également à jour les couleurs dérivées (section 2) et les composantes RGB (utilisées pour les transparences) :

  --color-primary-dark:    #051114;   /* primary assombri ~10% */
  --color-primary-light:   #1e687a;   /* primary éclairci ~15% */
  --color-secondary-dark:  #b34400;   /* secondary assombri ~15% */
  --color-secondary-light: #ff904d;   /* secondary éclairci ~15% */

  /* Composantes RGB pour rgba() — à synchroniser avec --color-primary */
  --color-primary-rgb:   15, 52, 61;
  --color-secondary-rgb: 255, 97, 0;

Outil pour calculer les variantes : color-hex.com

Exemples de palettes

/* Bleu institutionnel */
--color-primary:   #003366;
--color-secondary: #0077cc;

/* Vert naturel */
--color-primary:   #1a4a2e;
--color-secondary: #4caf50;

/* Rouge corporate */
--color-primary:   #8b0000;
--color-secondary: #d32f2f;

Zones couvertes

Backend (interface d'administration)

  • Navbar principale et menu des applications
  • Menus de navigation secondaires, onglets, dropdowns
  • Boutons primaires, boutons liens, états actifs
  • Liens (a, a:hover)
  • Champs de formulaire (focus) et checkboxes/radios cochés
  • Barre de statut des enregistrements
  • Badges et tags (.badge.bg-primary, .o_tag)
  • Alertes (.alert-primary)
  • Pagination
  • Dashboard / menu d'accueil
  • Barres de progression
  • Sélection de texte (::selection)
  • Code inline

Portal (interface client)

  • Header et navbar du portail
  • Boutons primaires
  • Liens
  • Footer
  • Titres et contenu portail
  • En-têtes de tableaux de documents
  • Fil d'Ariane
  • Champs de formulaire (focus)
  • Pagination
  • Badges helpdesk/tickets

Overrides framework

Les variables Bootstrap 5 et Odoo sont écrasées dans :root pour une couverture maximale des composants natifs :

--o-brand-primary, --o-brand-secondary, --o-brand-odoo
--bs-primary, --bs-primary-rgb
--bs-link-color, --bs-link-hover-color

Procédure de mise à jour

Après avoir modifié variables.css, suivre ces étapes dans l'ordre :

1. Incrémenter la version dans __manifest__.py

  • ex. '18.0.1.3.0''18.0.1.3.1'
  • Cela force Odoo à recharger les assets du module

2. Mettre à niveau le module dans l'interface Odoo

  • Apps → chercher "Custom Theme Colors" → cliquer Mettre à niveau

3. Régénérer les assets

  • Paramètres → activer le Mode développeur (lien en bas de page)
  • Menu développeur (icône 🐛) → Régénérer les assets

4. Vider le cache navigateur

  • Windows/Linux : Ctrl+Shift+R
  • Mac : Cmd+Shift+R

Installation

1. Cloner le module dans le dossier addons du serveur

cd /chemin/vers/odoo/addons
git clone https://github.com/EdwinLocker/odoo-custom-theme-numeriques.git custom_theme

2. Redémarrer Odoo pour qu'il détecte le nouveau module

docker compose restart odoo

3. Installer le module dans l'interface Odoo

  • AppsMettre à jour la liste des apps
  • Rechercher "Custom Theme Colors" → cliquer Installer

Ajouter de nouveaux sélecteurs

Si un élément violet n'est pas couvert :

  1. Identifier le sélecteur CSS avec l'inspecteur du navigateur (F12)
  2. L'ajouter dans backend.css (interface admin) ou portal.css (portail client)
  3. Utiliser les variables existantes — ne jamais écrire de valeurs hex directement :
    .mon_selecteur {
      color: var(--color-primary) !important;
    }

Compatibilité

Odoo Statut
18.0 ✅ Testé en production
17.0 ⚠️ Non testé
16.0 ❌ Non supporté

Changelog

18.0.1.3.0

  • Refactoring complet de l'architecture CSS
  • variables.css : seul fichier à modifier, syntaxe corrigée (CSS Level 5 → valeurs hex fixes), !important retirés des variables, ajout --color-primary-rgb / --color-secondary-rgb, overrides Bootstrap 5 natifs
  • backend.css : remplacement des valeurs hardcodées par des variables, ajout checkboxes, badges, alertes, progress bar, ::selection, organisation par sections numérotées
  • portal.css : remplacement des rgba hardcodés par variables, réorganisation par sections
  • Version : 18.0.1.2.918.0.1.3.0

18.0.1.2.x

  • Premières itérations du thème en production
  • Couverture navbar, boutons, liens, formulaires, portail

Licence

LGPL-3 — voir fichier LICENSE.

About

Permet de changer la couleur violette par défaut d'Odoo en une couleur personnalisée

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 93.7%
  • Python 6.3%