Zen, SASS, responsive design

Documents pareils
Celui qui vous parle. Yann Vigara

Responsive Web Design. Responsive Design avec HTML 5.0 et CSS3

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Media queries : gérer différentes zones de visualisation

Formation HTML / CSS. ar dionoea

Pour en expliquer le principe, on se limitera à deux exemples :

Travaux dirigés n 10

Une interface moderne et multi devices avec Drupal Focus sur Omega

HTML, CSS, JS et CGI. Elanore Elessar Dimar

UN SITE WEB RESPONSIVE EN UNE HEURE?

RESPONSIVE WEB DESIGN

Intégrateur Web HTML5 CSS3

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

JOOMLA 1.5 avancé SUPPORT DE COURS + annexe

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

Responsive Web Design. La Rochelle, Avril 2014

Découvrir Drupal. Les meilleurs thèmes et modules Drupal (présenta5on démo)

Présentation du Framework BootstrapTwitter

HTML5 et CSS3 pour des sites Responsive Web Design

PHP 5.4 Développez un site web dynamique et interactif

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

{less} Guide de démarrage

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Guide de réalisation d une campagne marketing

Prototyper un site web avec Awestruct et Boostrap

Point sur les solutions de développement d apps pour les périphériques mobiles

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Nouveautés joomla 3 1/14

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Projet en nouvelles technologies de l information et de la communication

TP JAVASCRIPT OMI4 TP5 SRC

TD séance n 2c Mise à jour des Systèmes

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

les techniques d'extraction, les formulaires et intégration dans un site WEB

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

Introduction à Expression Web 2

Joomla! Création et administration d'un site web - Version numérique

Optimiser pour les appareils mobiles

1. La notion de cascade

Devenez un véritable développeur web en 3 mois!

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Tutoriel code::blocks

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Profils d installation sous Drupal 7

Introduction à HTML5, CSS3 et au responsive web design

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Drupal Développeur. Theming et développement pour Drupal. Une formation Formateur : Fabien Crépin. Drupal Développeur.

Programmation Web. Madalina Croitoru IUT Montpellier

Tutoriel : Feuille de style externe

Gestion d identités PSL Exploitation IdP Authentic

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Portfolio Sites internet :

COMMENT METTRE A JOUR SON SITE WEB?

Créer une application de livre interactif pour tablette avec Indesign CS6 et Adobe Digital Publishing Suite

Formation : WEbMaster

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

En date du 11 décembre 2008

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Bureautique Initiation Excel-Powerpoint

WEBISO Internet & Intranet workflow

Once the installation is complete, you can delete the temporary Zip files..

GESTION DES MENUS. Un menu est un ensemble de liens permettant la navigation dans le site.

Initiation à html et à la création d'un site web

Survol des nouveautés

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

ENVOI EN NOMBRE DE Mails PERSONNALISES

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

INFORMATIONS ET INSTALLATION DU THEME CENATA RESPONSIVE

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Dans l Unité 3, nous avons parlé de la

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Bernard Lecomte. Débuter avec HTML

ASTER et ses modules

Utilisation de l éditeur.

Créer une base de données vidéo sans programmation (avec Drupal)

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Prise en main rapide

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Nouveautés de Drupal 8. Léon

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

Exemple de charte d intégration web

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

HTML5. Développement d applications Web. Visual Studio 2015 et TFS. L art et la manière. avec. Philippe DIDIERGEORGES

Transcription:

, SASS, responsive design Felip Manyer i Ballester Res Telæ 21 mai 2013 Felip Manyer i Ballester, SASS, responsive design 1/36

Plan 1 Créer un thème sous Drupal Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal 2 Responsive design SASS 3 Installation et création d un sous-thème Structure des fichiers, grilles Felip Manyer i Ballester, SASS, responsive design 2/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal 1 Créer un thème sous Drupal Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal 2 Responsive design SASS 3 Installation et création d un sous-thème Structure des fichiers, grilles Felip Manyer i Ballester, SASS, responsive design 4/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Généralités Drupal sépare clairement le rendu (présentation des pages web) de la logique. En toute fin de course, il charge un moteur de rendu (theme engine) (PHP template, Smarty, PHPTAL, etc.) de transformer le contenu sous une forme exploitable pour le client. Drupal peut présenter le contenu autrement qu en utilisant HTML : texte brut (courriers électroniques), XML, JSON... La mission principale de Drupal est la gestion de contenus, mais un en sens désormais plus générique (services web, etc.) Felip Manyer i Ballester, SASS, responsive design 5/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Concepts à mettre en œuvre Structuration Balisage HTML : fichiers gabarits (templates) fonctions de rendu (theme functions) Présentation Définition du style avec un langage tel que ou un sur-ensemble (SASS, LESS) Surcharges Surcharge des fonctions de rendu et de preprocess dans template.php (ou de dans le.info) Felip Manyer i Ballester, SASS, responsive design 6/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Structuration : gabarits system/page.tpl.php <?php if ($breadcrumb):?> <div id="breadcrumb"><?php print $breadcrumb;?></div> <?php endif;?> <?php print $messages;?> zen/templates/page.tpl.php <div id="content" class="column" role="main"> <?php print render($page[ highlighted ]);?> <?php print $breadcrumb;?> [...] </div><!-- /#content --> Felip Manyer i Ballester, SASS, responsive design 7/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Structuration : fonctions de rendu Dans theme.inc function theme_breadcrumb($variables) { $breadcrumb = $variables[ breadcrumb ]; $output = <div class="breadcrumb">. implode(», $breadcrumb). </div> ; return $output; Dans template.php function mon_joli_theme_breadcrumb($variables) { $breadcrumb = $variables[ breadcrumb ]; $output = <div class="breadcrumb">. implode(, $breadcrumb). </div> ; return $output; Felip Manyer i Ballester, SASS, responsive design 8/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Surcharges Dans theme.inc function template_process_page(&$variables) { if (!isset($variables[ breadcrumb ])) { $variables[ breadcrumb ] = theme( breadcrumb, array( breadcrumb => drupal_get_breadcrumb())); Dans template.php function mon_joli_theme_preprocess_page(&$variables) { $variables[ ville ] = Montpellier ; Felip Manyer i Ballester, SASS, responsive design 9/36

Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal Types de thèmes Trois possibilités au moment de choisir un thème : utiliser un thème déjà fait (Bartik, Marinelli, CTI Flex, Corporate Clean, Pixture Reloaded, etc.), éventuellement acquis à titre onéreux repartir de zéro à la Linux From Scratch (get a life) utiliser un thème de base (Omega, Adaptive Theme, Fusion,, etc.) : thème «blanc» comprenant les fondamentaux (gabarits, régions, de mise en page, divers paramètres) et des outils permettant d intégrer un design. On crée généralement un sous-thème permettant de conserver la plupart des fonctionnalités dans le thème parent, et de surcharger à la demande. Felip Manyer i Ballester, SASS, responsive design 10/36

Responsive design SASS 1 Créer un thème sous Drupal Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal 2 Responsive design SASS 3 Installation et création d un sous-thème Structure des fichiers, grilles Felip Manyer i Ballester, SASS, responsive design 12/36

Responsive design SASS Cascading stylesheets : genèse (cascading stylesheets) est un langage de présentation (première séparation entre la structuration (HTML) et la présentation), largement connu de l audience 6 août 1991 projet WorldWideWeb rendu public sur UseNet par Tim Berners-Lee 1992 1993 premiers essais «côté client» (simple personnalisation) : Viola, Harmony 1995 1996 les cascading HTML stylesheets d Håkon Wium Lie s imposent Felip Manyer i Ballester, SASS, responsive design 13/36

Responsive design SASS Cascading stylesheets : les temps héroïques 1 la guerre des navigateurs entre Internet Explorer et Netscape. Spécification relativement pauvre, implémentations concurrentes. La mise en page avec des tableaux perdure. 2 ère IE5/6. Ambitions précipitées : gestion des fontes, adaptabilité aux différents supports de lecture : instruction @media, qui se limitera longtemps à screen et print 2.1 se concentre sur ce qui est implémentable, repousse le reste à 3 3 beaucoup de changements, dont les media queries Felip Manyer i Ballester, SASS, responsive design 14/36

Responsive design SASS et plasticité du web : instructions @media Types de media ( 2) braille embossed handheld print projection screen speech tty tv Caractéristiques du media (2007) color nb bits/couleur color-index index des couleurs device-aspect-ratio ratio dispositif device-height hauteur dispositif device-width largeur dispositif grid largeur fixe height hauteur fenêtre monochrome monochrome orientation portrait/paysage resolution résolution scan pour les TV width largeur fenêtre Felip Manyer i Ballester, SASS, responsive design 15/36

Responsive design SASS Pléthore de clients sur le Web : de 7 à 77 usages mobiles en pleine explosion : le trafic des appareils mobiles devrait dépasser celui des machines de bureau en 2015 (IDC) le «responsive design» (conception de sites web adaptatifs) est une solution élégante permettant d échapper à l enfer de la duplication de code Felip Manyer i Ballester, SASS, responsive design 16/36

Responsive design SASS Responsive design : mise en œuvre on utilise une extension de l instruction 2.1 @media, permettant de définir des points de coupure @media all and (min-width:480px) @media all and (min-width:480px) and (max-width:959px) @media all and (min-width:960px) nécessite un navigateur supportant 3, ou une couche intermédiaire de compatiblité en JavaScript (shim, shiv, modernizr) pour notre ami IE 8 (oubliez IE 7) préférez des unités relatives (pourcentages, em, ex), utilisez une grille, donnez une largeur de 100 % aux images utilisation des tableaux problématique Felip Manyer i Ballester, SASS, responsive design 17/36

Responsive design SASS Responsive design : mobile first le mobile n est pas un état dégradé de la version bureau : UX correcte (même si minimaliste) et ergonomique de base étudier d abord la version mobile. Ce sera le style par défaut dans la pour tous les dispositifs : pas encore de point de coupure mobile : empilement sur une colonne (pas de défilement horizontal) ensuite rajouter des spécificités pour chaque dispositif identifié C est la doctrine mobile first (le mobile d abord). Felip Manyer i Ballester, SASS, responsive design 18/36

Responsive design SASS Responsive design : modules utiles Views Responsive Grid Format de grille adaptatif pour Views. Voir aussi Views Fluid grid. Better Jump Menus afficher un menu sous forme de liste déroulante Responsive Images [and Styles] charger des images adaptées au dispositif. 7.x-2.x utilise uniquement des media queries. modules similaires Breakpoints gestion avancée des points de coupure Picture autre approche de la gestion des images Felip Manyer i Ballester, SASS, responsive design 19/36

Responsive design SASS Syntactically awesome stylesheets (SASS) un langage de présentation se présentant comme un sur-ensemble de 3 (au même titre que LESS) fichiers doivent être transformés en avant utilisation syntaxe S compatible avec (transition en douceur) principales caractéristiques : variables, règles imbriquées, «mixins», héritage Felip Manyer i Ballester, SASS, responsive design 20/36

Responsive design SASS SASS : variables S $blue: #3bbfce; $margin: 16px;.content-navigation { border-color: $blue; color: darken($blue, 9%);.border { padding: $margin / 2; margin: $margin / 2; border-color: $blue; content-navigation { border-color: #3bbfce; color: #2b9eab;.border { padding: 8px; margin: 8px; border-color: #3bbfce; Felip Manyer i Ballester, SASS, responsive design 21/36

Responsive design SASS SASS : Imbrication (nesting) S table.hl { margin: 2em 0; td.ln { text-align: right; li { font: { family: serif; weight: bold; size: 1.2em; table.hl { margin: 2em 0; table.hl td.ln { text-align: right; li { font-family: serif; font-weight: bold; font-size: 1.2em; Felip Manyer i Ballester, SASS, responsive design 22/36

Responsive design SASS SASS : mixins S @mixin table-base { th { text-align: center; font-weight: bold; td, th {padding: 2px @mixin left($dist) { float: left; margin-left: $dist; #data { @include left(10px); @include table-base; #data { float: left; margin-left: 10px; #data th { text-align: center; font-weight: bold; #data td, #data th { padding: 2px; Felip Manyer i Ballester, SASS, responsive design 23/36

Responsive design SASS SASS : héritage S.error { border: 1px #f00; background: #fdd;.error.intrusion { font-size: 1.3em; font-weight: bold;.baderror { @extend.error; border-width: 3px;.error,.badError { border: 1px #f00; background: #fdd;.error.intrusion,.baderror.intrusion { font-size: 1.3em; font-weight: bold;.baderror { border-width: 3px; Felip Manyer i Ballester, SASS, responsive design 24/36

Responsive design SASS Compass une bibliothèque pour SASS, comprenant de nombreux mixins, un gestionnaire de packages pour obtenir des librairies additionnelles, un exécutable pour générer des les meilleurs motifs réutilisables du Web facilite l utilisation de 3 : gère les vendor prefixes gestion automatisée des sprites «rythmes typographiques» Felip Manyer i Ballester, SASS, responsive design 25/36

Installation et création d un sous-thème Structure des fichiers, grilles 1 Créer un thème sous Drupal Généralités Concepts à mettre en œuvre Typologie des thèmes Drupal 2 Responsive design SASS 3 Installation et création d un sous-thème Structure des fichiers, grilles Felip Manyer i Ballester, SASS, responsive design 27/36

Installation et création d un sous-thème Structure des fichiers, grilles Présentation de : le thème is a powerful, yet simple, HTML5 starting theme with a responsive, mobile-first grid design. thème de base créé en 2006 par John Albin Wilkins 2 branches stables actuellement : 7.x-3.x et 7.x-5.x ( 5). documentation en ligne fournie, et code commenté avec soin Felip Manyer i Ballester, SASS, responsive design 28/36

Installation et création d un sous-thème Structure des fichiers, grilles Présentation de : le créateur co-maintenu par John Albin Wilkins, de palantir.net (organisations publiques et non gouvernementales) développeur (front-end) clef dans la communauté : nombreux modules (Menu Block, Menu Position, Fences, sans compter le cœur), chef de la Drupal 8 Mobile Initiative co-auteur de Drupal 7 Module Development, gagnant du TPOTM (trivial patch of the month) - // Check only if it s a template and not registered by the theme or engine + // Check only if it s a template and not registered by the theme or engine. Felip Manyer i Ballester, SASS, responsive design 29/36

Installation et création d un sous-thème Structure des fichiers, grilles Préparatifs Installations des dépendances optionnelles sous Debian : Installer SASS sudo apt-get install rubygems sudo gem update sudo gem install sass Installer Compass sudo gem install compass Felip Manyer i Ballester, SASS, responsive design 30/36

Installation et création d un sous-thème Structure des fichiers, grilles Installation de et création d un sous-thème télécharger 5 (http://drupal.org/project/zen) le placer par exemple dans sites/all/themes dans le répertoire du site, taper drush zen "Mon joli thème" --without-rtl (ou bien suivre le README : copier STARTERKIT et renommer les fichiers et les fonctions) dans mon_joli_theme.info, choisir entre css/layouts/ fixed-width.css (pas de responsive) et css/layouts/ responsive-sidebars.scss Felip Manyer i Ballester, SASS, responsive design 31/36

Installation et création d un sous-thème Structure des fichiers, grilles Structure des fichiers config.rb divers paramètres, dont bascule entre dev et prod, et activation de FireSass.info notamment choix du layout (fixe ou adaptatif) css/ fichiers, pouvant être utilisés directement sass/ répertoire contenant les fichiers SASS, les sont alors générées et écrasées et ne doivent pas être sous gestion de version templates/ fichiers contenant les gabarits (balisage). Ce sont des êtres sensibles. Les respecter. template.php surcharges fonctions de preprocess et de theme Felip Manyer i Ballester, SASS, responsive design 32/36

Installation et création d un sous-thème Structure des fichiers, grilles Outils FireSass extension de Firebug permettant d afficher les numéros de ligne du fichier SASS et non Ctrl-Maj-M mode de visualisation en responsive design de Firefox compass compass compile pour générer les, compass clean pour les supprimer, compass watch pour regénérer les fichiers concernés à chaque sauvegarde Compass.app interface graphique pour Compass ($10) Felip Manyer i Ballester, SASS, responsive design 33/36

Installation et création d un sous-thème Structure des fichiers, grilles Grids Grids est une collection de mixins Compass permettant de gérer aisément les grilles à haut niveau ( «charge cognitive»), pouvant être utilisée en dehors de (http://zengrids.com/) avantage de SASS : pas de classes «de présentation» : la est calculée lors de sa génération démonstration : http://zengrids.com/help/#example-1 Felip Manyer i Ballester, SASS, responsive design 34/36

Installation et création d un sous-thème Structure des fichiers, grilles Conclusion 3, responsive design : de nouvelles perspectives pour un Web ouvert, universel, à défendre face aux risques de fragmentation qui persistent : la puissance du moteur de thème de Drupal mise en toute simplicité à disposition du themer, avec des outils désormais incontournables (SASS, Compass, grilles) sites non adaptatifs obsolescents. Intégration croissante du responsive dans nos outils (Drupal 8) propagez la bonne parole Felip Manyer i Ballester, SASS, responsive design 36/36