Aller à l'article
Aniq-UI

LearnioImage de marque

Image de marque

Où se trouvent le nom du produit, le logo, les icônes, les couleurs et les polices dans chaque application Learnio, et ce qu'il faut modifier pour en faire votre propre marque.

Pour le pack Full Stack

Où se trouve la marque

La marque est définie dans des fichiers, pas dans le tableau de bord admin. Le site étudiant et le tableau de bord admin ont chacun leur propre copie : modifiez donc chaque application que vous livrez.

ÉlémentSite étudiant (frontend/)Tableau de bord admin (admin-dashboard/)
Nom, description, lienssrc/config/site.ts et src/config/brand.config.tssrc/config/brand.config.ts
Fichiers du logopublic/assets/brand/public/assets/brand/ et public/assets/images/
Favicon et icônes de l'applicationsrc/app/ et public/icons/src/app/, vers lequel pointe le manifest de brand.config.ts
Couleurssrc/styles/theme-variables.css et src/styles/dashboard-theme.csssrc/styles/theme-variables.css
Policessrc/app/layout.tsx et src/styles/base.csssrc/app/layout.tsx et src/styles/base.css
Textes qui nomment le produitmessages/<namespace>/<locale>.jsonsrc/config/brand.config.ts

yarn dev affiche une modification immédiatement. Un build de production compile la marque dans l'application : relancez donc yarn build, ou docker compose up --build pour le pack Full Stack.

Le nom sur le site étudiant

Les chemins sont relatifs à frontend/.

ParamètreOù il apparaît
SITE.name dans src/config/site.tsL'onglet du navigateur (Page | Name), les aperçus de partage, le nom de l'application installée et les données structurées lues par les moteurs de recherche.
SITE.description et SITE.keywordsLa meta description, les aperçus de partage et la description de l'application installée.
SITE.twitterHandleLes balises twitter:site et twitter:creator de la carte de partage de chaque page. Écrivez l'identifiant sans @ ; une chaîne vide supprime les deux balises.
SITE.socialLe pied de page et le menu mobile. Indiquez des identifiants de compte, pas des URL. Un identifiant vide supprime ce lien.
BRAND_CONFIG dans src/config/brand.config.tsLe tableau de bord de l'étudiant : shortName à côté du symbole dans la barre latérale, name, version et company dans son pied de page. Chacun a une valeur en et une valeur ar.

L'adresse publique du site provient de NEXT_PUBLIC_SITE_URL, pas de ces fichiers.

Le nom apparaît aussi dans les textes : la ligne de copyright du pied de page, le nom accessible du logo (brand.logoLabel dans messages/layouts), les pages d'accueil et « À propos », les pages de connexion et les pages légales. Trouvez chaque occurrence dans les deux langues :

Terminaldans frontend
grep -rn "Learnio" messages
grep -rn "ليرنيو" messages
  • Une seule chaîne est écrite dans le code : le hashtag LearnioLMS dans src/components/ui/ShareModal.tsx.
  • Les conditions d'utilisation et la politique de confidentialité dans messages/legal contiennent des coordonnées d'exemple (legal@learnio.com, privacy@learnio.com, une adresse à Dubaï). Remplacez-les par les vôtres avant la mise en production.

Le nom dans le tableau de bord admin

Tout se trouve dans BRAND_CONFIG, dans admin-dashboard/src/config/brand.config.ts. Les champs texte ont une valeur en et une valeur ar.

ChampOù il apparaît
nameLes titres de page (Page | Name), le nom du site dans l'aperçu de partage et le pied de page du tableau de bord.
shortNameÀ côté du symbole en haut de la barre latérale, en capitales, et à côté du symbole sur la carte de connexion. Gardez-le court : un nom long est coupé par des points de suspension.
companyLe pied de page du tableau de bord, et la ligne de copyright sous les pages de connexion, que getCopyrightText construit à partir de l'année et de ce nom.
versionLe pied de page du tableau de bord.
logo.iconLe symbole en haut de la barre latérale et sur la carte de connexion.
metaLe titre, la description, les mots-clés et l'auteur par défaut, ainsi que les images de partage.
domain.urlLa base des liens absolus dans les métadonnées. Elle est livrée avec la valeur https://yourdomain.com : remplacez-la par l'adresse du tableau de bord admin.
logo.altLe nom accessible du logo sur les pages de connexion.
theme, manifestLes couleurs du navigateur et de l'application installée, et les icônes de l'application installée, ci-dessous.
links, contactUniquement les données structurées dans l'en-tête de la page. Aucun élément visible ne les lit.

Chaque endroit qui nomme le produit lit BRAND_CONFIG : le renommer là renomme ensemble la barre latérale, la carte de connexion, les deux pieds de page et les titres des pages. Les fichiers de messages du tableau de bord admin ne contiennent pas le nom du produit : la phrase de la ligne de copyright est une traduction (layouts.footer.copyright) dans laquelle le nom est inséré depuis la configuration.

Fichiers du logo

Le plus simple est de remplacer chaque fichier par le vôtre, au même chemin et sous le même nom. Utilisez un PNG à fond transparent.

ApplicationFichierTailleOù il apparaît
Site étudiantpublic/assets/brand/learnio-wordmark.png986 × 293La barre de navigation, le menu mobile, le pied de page et les pages de connexion, dans les deux thèmes.
Site étudiantpublic/assets/brand/learnio-mark.png512 × 474La barre latérale du tableau de bord de l'étudiant.
Adminpublic/assets/brand/learnio-mark.png512 × 474La barre latérale et la carte de connexion, via logo.icon. C'est aussi l'image de partage par défaut, ci-dessous.
Adminpublic/assets/images/logo-for-lightmode.png et logo-for-darkmode.png986 × 293La barre supérieure des pages de connexion, un fichier par thème.
  • Le site étudiant affiche un seul logotype sur les pages claires et sombres : choisissez donc un visuel lisible sur les deux.
  • Dans le tableau de bord admin, les deux fichiers de thème sont choisis par --logo-bg-image dans src/styles/theme-variables.css. Ils sont livrés avec la même image.
  • La copie de learnio-wordmark.png propre au tableau de bord admin n'est utilisée par aucune page.

Pour utiliser un fichier d'un autre nom dans le tableau de bord admin, faites pointer logo.icon de BRAND_CONFIG vers lui. Si votre visuel a une autre forme, mettez à jour la taille déclarée pour qu'il ne soit pas étiré : le width et le height de ASSETS dans src/components/ui/BrandLogo.tsx du site étudiant, et width={512} et height={474} dans src/layouts/dashboard/sidebar/components/SidebarBrand.tsx (dans les deux applications) et dans src/layouts/auth/components/FormPanel.tsx du tableau de bord admin.

Favicon, icônes d'application et images de partage

Next.js trouve les fichiers de src/app/ par leur nom et écrit les balises de page correspondantes : remplacez donc les fichiers en conservant leurs noms.

ApplicationFichierTailleUtilisé pour
Les deuxsrc/app/favicon.icoPlusieurs tailles dans un seul fichierL'onglet du navigateur
Les deuxsrc/app/icon.png512 × 512L'icône du navigateur
Les deuxsrc/app/apple-icon.png180 × 180L'écran d'accueil iOS
Site étudiantpublic/icons/icon-192.png, public/icons/icon-512.pngCarrés de 192 et 512L'application installée. Celle de 512 est aussi le logo dans les données structurées.
Site étudiantpublic/icons/icon-maskable-512.png512 × 512Android, qui peut la rogner en cercle. Gardez le symbole bien à l'intérieur des bords.
Site étudiantsrc/app/opengraph-image.png, src/app/twitter-image.png1200 × 630Aperçus de liens

Le tableau de bord admin a un seul manifest d'application web, servi à /manifest.webmanifest depuis src/app/manifest.ts, qui lit manifest dans BRAND_CONFIG :

  • manifest.icons liste les icônes de l'application installée : /icon.png (512 × 512) et /apple-icon.png (180 × 180), les deux fichiers de src/app/. Remplacer ces fichiers change ensemble l'icône du navigateur et celle de l'application installée. Si vous faites pointer une entrée vers un autre fichier, indiquez sa taille réelle.
  • meta.ogImage et meta.twitterImage sont les aperçus des liens, /assets/brand/learnio-mark.png par défaut. Les métadonnées déclarent l'image en 512 × 474 et utilisent la petite carte summary : une image de remplacement d'une autre taille demande de changer aussi le width et le height dans src/app/layout.tsx.
  • Le tableau de bord admin demande aux moteurs de recherche de ne pas l'indexer, dans les métadonnées des pages et dans public/robots.txt : c'est un outil pour le personnel, pas une page publique.

Couleurs du site étudiant

Les pages publiques lisent leurs couleurs dans des variables CSS de src/styles/theme-variables.css : les valeurs claires sous :root, les sombres sous .dark. L'orange de la marque est #FF6A3D.

VariableCe qu'elle colore
--primaryColor, --primaryColorHover, --primaryColorLightLes boutons, les liens, les états actifs et la teinte pâle derrière eux.
--brand-start, --brand-endLes deux couleurs de la marque : l'orange pour les actions, le jaune pour la progression et les prix. Redéfinies sous .dark.
--brand-start-ink, --brand-end-ink, --brand-figure-inkDes versions plus foncées des mêmes couleurs pour le texte, afin qu'il reste lisible sur une page claire.
--brand-action-hover, --brand-dark-pinkLe survol du bouton plein, et un ancien nom du remplissage principal.
--background, --surface, --text, --borderLa page, les cartes, le texte et les filets.
  • Le tableau de bord de l'étudiant connecté utilise la palette du tableau de bord admin, copiée dans src/styles/dashboard-theme.css et limitée à ce tableau de bord. Son orange est #FF8A00. La copie est tenue à la main : quand une couleur change dans theme-variables.css du tableau de bord admin, changez-la aussi dans ce fichier.
  • Quelques illustrations écrivent l'orange directement au lieu d'utiliser une variable : le profil du formateur et les étapes « How it works » de la page d'accueil. Recherchez FF6A3D dans src/features.
  • La couleur que le navigateur peint autour de la page (la barre d'adresse sur mobile) est SITE.browserChrome dans src/config/site.ts, une valeur par thème, chacune égale au fond de page de ce thème. Les couleurs de l'application installée sont SITE.themeColor et SITE.backgroundColor dans le même fichier.

Couleurs du tableau de bord admin

Toutes les couleurs sont des variables CSS dans src/styles/theme-variables.css, les claires sous :root et les sombres sous .dark. L'orange de la marque est --primaryColor, #ff8a00 dans les deux thèmes, avec --primaryColorHover pour son survol.

  • Les nuances de l'orange sont écrites comme des valeurs distinctes : la famille --accent-*, la famille --chip-* et --btn-primary-fill, qui vaut #ff6a3d dans le thème clair. Pour changer la couleur de la marque, recherchez ff8a00, 255, 138, 0 et ff6a3d dans le fichier et retravaillez les nuances voisines.
  • En dehors des couleurs du navigateur ci-dessous, ce fichier est le seul endroit où le tableau de bord admin écrit l'orange. Aucun composant ne la code en dur.
  • Les couleurs de l'interface du navigateur sont theme.light et theme.dark dans BRAND_CONFIG. L'application installée utilise manifest.themeColor et manifest.backgroundColor.

Polices

Les deux applications chargent Inter pour l'anglais et IBM Plex Sans Arabic pour l'arabe via next/font/google dans src/app/layout.tsx, qui les sert depuis votre propre domaine. src/styles/base.css passe à la police arabe quand la langue de la page est ar.

ApplicationVariable de la police latineVariable de la police arabe
Site étudiant--font-inter--font-ibm-plex-arabic
Admin--font-sans-latin--font-sans-arabic

Pour changer de police, importez-en une autre depuis next/font/google en conservant son nom de variable, afin que les feuilles de style la reprennent sans modification. Sur le site étudiant :

frontend/src/app/layout.tsx
import { IBM_Plex_Sans_Arabic, Manrope } from "next/font/google";

const inter = Manrope({
  subsets: ["latin"],
  display: "swap",
  variable: "--font-inter",
});

Une police qui n'est pas une police variable a besoin d'une liste weight, comme la police arabe. Le fichier src/styles/base.css du site étudiant cite aussi 'Inter' comme police de secours ; mettez-le à jour si vous renommez la variable.

E-mails et API

  • Expéditeur : MAIL_FROM dans back-end/.env est le nom et l'adresse d'où part chaque e-mail, par exemple Learnio <noreply@example.com>.
  • Nom : les e-mails nomment le produit via l'espace réservé {site} de src/i18n/translations/<locale>/mail.json, rempli à partir du paramètre site_name. Modifiez-le dans l'onglet App Settings de Settings du tableau de bord admin ; il s'applique au prochain e-mail envoyé.
  • Réponses : le paramètre support_email est l'adresse de réponse de chaque e-mail, pour qu'une réponse parvienne à une personne plutôt qu'à l'expéditeur sans réponse.
  • Formulation : les objets et les corps des messages sont dans src/i18n/translations/en/mail.json et src/i18n/translations/ar/mail.json.
  • Apparence : les e-mails ne contiennent pas de logo. Leurs couleurs sont écrites dans src/modules/mail/templates/layout.ts (INK, MUTED, PAGE, CARD), car les clients de messagerie ignorent les feuilles de style.
  • Les liens des e-mails ouvrent le site étudiant à l'adresse FRONTEND_URL.

L'onglet App Settings ne change pas la marque des applications

site_name et support_email ne changent que les e-mails. Le site étudiant et le tableau de bord admin prennent leur nom, leur logo et leurs couleurs dans les fichiers ci-dessus : modifiez-les aussi.

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.