feedback

97401228930859yeux.gif Comment adapter un thème pour Concrete5:

Pré-requis:

Nous allons aborder ici l'adaptation de thème pour concrete5. Afin de partir sur de bonne bases, nous vous conseillons de lire les pages relatives à l'explication du CSS et la création de page type de Concrete5. De cette façon il sera plus simple de comprendre les notions abordées.

70471230934240notes.png   Ce tutoriel n'est en aucun cas un cours sur les classes CSS, ni sur le codage en xHTML. Juste une explication succinte sur l'approche et l'adaptation des thèmes pour conrete5. 

Nous prendrons donc comme exemple le thème entomology de freeCSS templates. Pour l'étudier il vous faudra donc avoir un éditeur de code comme notepad++, GEdit, bluefish, ou text wrangler (comme ça pas d'excuses) et un navigateur internet installé sur votre ordinateur et fonctionnel. Un serveur web en local comme Wamp, Lamp, ou Mamp serait idéal pour les tests et le développement.

Note importante:

Cette méthode d'adaptation est loin d'être LA méthode, ni la meilleur méthode, ni la plus rapide ou quoi que se soit dans le genre. C'est simplement la méthode que j'utilise habituellement pour adapter des thèmes existants sur concrete5. Quels qu'ils soient. L'exemple présent est relativement simple et donc adéquat pour une explication, car ressemblant à la base à la structure voulue.

A savoir qu'en moyenne il faut compter (selon votre niveau en (x)HTML, CSS, and co sur un thème comme celui-ci) entre 1 heure et 4/5 heures de travail pour une adaptation.

Etude:

Nous avons donc téléchargé et décompresser le thème en question, et avons ouvert avec notre éditeur les fichiers index.html et default.css. Nous avons également ouvert le fichier index.html avec notre navigateur pour avoir un repère visuel.

1ere constatation:

Le fichier index.html: Ce fichier à une structure relativement proche de celle du thème par défaut de concrete5 Langue tirée , et cela nous arrange bien. En effet nous remarquons:

  • Un header
  • Un wrapper contenant:
    • Une colonne
    • Un contenu Principal
  • Un footer

Le fichier default.css: La feuille de style en cascade est on ne peu plus claire également. Celui-ci sera à scinder en deux parties (typography.css et main.css) pour respecter l'architecture de concrete5 au niveau des styles.

Un rapide examen de ce fichier nous montres les styles des textes, liens, menus, etc... et les définitions de contenus employé et leur emplacements. 

Encore une fois très similaire aux style de concrete5.

Méthode:

A partir d'ici deux méthodes s'offres à nous:

  1. Conserver les styles de concrete5 et les "overighter avec notre style"
  2. Partir de zéro et écrire tous les styles utilisés.

Nous allons opter pour la version la plus clean, soit le choix numéro 2.

Besoins:

          Définissons rapidement nos besoins. Si nous nous référons à la documentation sur la création de thème pour C5, nous avons besoins au minimum (pour bien faire) des templates suivants:

  • un dossier elements contenant:
    • header.php
    • footer.php
  • default.php
  • left_sidebar.php
  • full.php
  • view.php
  • typography.css
  • main.css
  • un dossier images
  • un fichier description.txt
  • une image photo miniature du thème

70471230934240notes.png  Rien ne vous empêche par la suite de faire d'autres templates comme home.php ou toute autre page selon vos besoins.

Et côté zones nous définierons le minimum également:

  • Header Nav
  • Header
  • Main
  • Sidebar
  • Footer

Qu'avons nous ?

Récapitulons nos acquis: 

  • Un fichier html préformaté très ressemblant a ceux de C5.
  • Un fichier CSS remplit relativement complet.
  • Un dossier contenant les images de fond et décoratives.

Bref tout pour réeussir une adaptation en un tour de main.

Adaptation:

Etape1: la préparation

           Nous allons tout d'abord créer notre arborescence de fichiers vides dans un dossier nommé Entomology, tel que décris dans la chapitre des besoins. Dans le dossier images nous copierons le contenu du dossier du même nom du thème téléchargé. Nous pouvons également copier le fichier de license à la racine.

 Etape2: la copie des bases

          Continuons dans la copie "rapide" avec le fichier default.css. Nous copierons le contenu relatif au texte dans le fichier typography.css (soit les balises a, h, p blockquote, pre, code, etc ...) et le reste dans le fichier main.css.

Vous devriez obtenir les fichiers suivants: (nous remplirons les blancs plus tard)

pour typography.css :

 

pour main.css :

 

          Maintenant nous allons poser la base du thème, soit l'entête et le pied de page de la façon la plus basique possible. Nous affinerons plus tard, ici nous allons juste copier bêtement les parties du thème correspondantes. En gardant tout de même les syntaxes de bases de concrete5 pour:

les liens de fichiers CSS:

 

les protections de base:

 

et les éléments requis, pour le header:

 

et le footer:

 

Ainsi que les protections et inclusions des fichiers header et footer dans les fichiers de contenus principaux. soit les:

 

et

 

Nous avons donc pour /elements/header.php : (notez que je triche un peu en laissant xhtml transitionnel au lieu de strict qui simplifiera la vie plus tard, ne serait-ce que pour les types de lien href)

 

et pour le /elements/footer.php :

 

et pour finir notre (plus que brutale) copie de contenu, nous allons inséré le reste du code dans le fichier left_sidebar.php. Ce choix est arbitraire, nous avons pris celui-ci dans le cas présent car la colonne du thème est à gauche au départ.

nous avons donc dans left_sidebar.php:

 

45481230833735petitwarning.png      Nous n'avons pour le moment, QUE copier le thème télécharger sans rien toucher. Nous n'avons donc aucune zone de contenu ni quoi que ce soit d'exploitable en soit !!

Maintenant nous allons dégrossir (à la hache) le fichier de contenu principal afin qu'il soit un minimum exploitable.

Etape 3: Un premier nettoyage rapide.

Ok, si nous faisions en sorte d'avoir quelque chose d'utilisable ?

Oublions un instant les fichiers d'entêtes et de pied de page, et conentrons nous sur le contenu principal. Qu'avons nous:

 

  • Un menu dans la colonne (que nous ne touchons pas pour le moment (mais ce ne saurait tarder).
  • Des zones de texte dans la colonne et la zone centrale.

 

      Tranchons dans le vif et effaçons le texte. D'ailleurs nous remarquerons au passage que les classes welcome (vide), example (qui n'éxiste pas dans le CSS d'ailleurs) et image-right ne nous servent plus à rien. Nous pouvons donc épurer le fichier main.css pas la même occasion.

          Nous conserverons la classe testimonial pour le moment vu que sont conteneur nous intéresse pour le moment. En effet pour ne pas nous lancer dans plusieurs choses à la fois nous conservons le menu en dur pour le moment.

          Maintenant insérons nos zones de contenu standard à leurs endroit respectifs. Soit Sidebar dans la colonne et Main dans la zone principale.

Ce qui nous donne pour le fichier main.css:

 

Et pour le fichier left_sidebar.php:

 

          Ce n'est toujours pas ça mais on avance. Pour continuer avec notre hache Innocent regardons de plus pret les fichiers contenus dans le dossier /elements. Et insérons quelques zones de base dont nous aurons besoins. Soit le nom du site avec le lien sur l'accueil à la place du nom du thème, et une navigation (Header_nav). La zone Header ne se prête pas trop bien à ce thème en l'état. Nous laisserons donc cette partie à votre discrétion.

          Par contre nous pouvons nous créer une petite zone type slogan pour remplacer le texte "By Free CSS Templates". Il va de soit que cette zone sera dédié à de courts textes, mais éditables sur chaque page, ce qui peut être sympa. Cependant, rien ne vous empêche de laisser un texte au choix en dur. LEs classes logo h1 et logo h2 étants définies pourquoi se priver.

Nous obtenons donc un fichier /elements/header.php comme suit:

 

Vous remarquerez que nous gardons la définition de hauteur minimum en mode édition. En effet nous définirons l'emplacement de la navigation avec des valeurs absolues. Cette définition est donc nécessaire pour ne pas tout déformer en mode édition.

L'insertion est brute pour le moment nous affinerons le CSS plus tard. A l'oeil.

          Concernant le footer nous jaoutons les lignes de copyright et le lien d'entrée en mode édition. Sans pour autant enlever les copyrights des auteurs originels du thème !! 

Ce qui nous donne un fichier /elements/footer.php :

 

Arrivé à ce stade nous avons une base utilisable. Nous allons remplir, sans précautions, les fichiers full.php, default.php, et view.php pour pouvoir tester notre template et affiner tout ça de visu. 

Pour le moment le fichier default.php sera le même nous inverserons la colonne de gauche à droite plus tard. Nous y copions donc simplement le contenu de left_sidebar.

Pour full.php nous éliminons la colonne:

 

idem pour view.php avec son contenu spécial:

 

          Le résultat sera loin d'être bon, mais nous créerons les classes nécessaires à l'obtention d'un affichage convenable plus tard.

Avant des tester notre ébauche de thème il nous faut remplir le fichier description.txt avec par exemple:

 

Voilà nous allons pouvoir tester ça en local et rendre le tout présentable. Le gros du travail va maintenant se situer sur les fichiers CSS. Quelques modifs seront faites sur les .php mais uniquement pour y incorporer nos classes.

Etape 4: Mise en forme.

          A partir d'ici nous allons pouvoir poser nos haches et passer aux choses plus subtiles.

 

 

A suivre .....