Archives mensuelles : avril 2013

Le modèle MVC

Le modèle MVC

mvc

Le modèle Modèle Vue Contrôleur peut être très utile en développement web car il permet de bien éclater les couches en partie bien distinctes.

Par son abstraction, il peut procurer beaucoup plus de robustesse à nos applications web.

De nombreux framework web l’on déjà adopté : Zend, Symfony.

Le modèle

Il s’agit de la couche d’accès au données, qui permet de s’interfacer avec notre SGBD (Système de Gestion de Base de Données).

Dans les framework classiques, il est souvent utilisé via Doctrine (ORM très puissant), qui permet le mappage des données en modèle objet…

C’est très pratique d’utiliser ce genre de méthode pour accéder aux données afin de garantir la pérennité et la mobilité des données.

La vue

C’est la couche qui est employée pour afficher les données à l’utilisateur.

Dans le modèle MVC, celle ci ne connait pas ces accolytes du modèle…

Elle est souvent générée par un système de gestion de templates (comme smarty ou twig).

Le contrôleur

C’est la pierre angulaire de l’application, il est le véritable chef d’orchestre, qui gère toutes les requètes, les route, accède aux données et génère les vue.

Décomposé lui même en plusieurs couches, il permet d’intégrer la logique métier de nos applications…

Les méthodes agiles

Les méthodes agiles

Agile_Software_Development_methodology.svg

Basées sur des itérations courtes, ainsi que la simplicité dans les développements, ces méthodes mettent le client au coeur de son projet.

Elles ont pour but d’améliorer la qualité des développements et la satisfaction du client, en apportant de nouvelles fonctionnalités au produit fini souvent, rendant les feedback client essentiels.

Extreme Programming

overview

La communication n’étant pas très souvent le fort des geeks, qui passent leur temps devant leurs PC, l’Extreme programming la remet donc au centre du projet.

Elle implique une forte réactivité de l’équipe de développement aux changements de fonctionnalités du client.

Le planning poker est une bonne réponse à la problématique de gestion du temps, en mettant d’un coup de cartes d’accord toute l’équipe.

Elle va souvent de paire avec l’emploi d’un serveur d’intégration continue (type Hudson ou Jenkins) et de tests unitaires et fonctionnels poussés (test driven dev.) car les mises en production s’avèrent bien plus récurrentes…

Scrum

Scrum

Scrum apporte une panoplie de méthodes très utiles pour la gestion de projets informatiques.

Les postes sont bien définis (scrum master, product owner, developper), les équipes de développement sont responsabilisées, communicantes (sprint planning meeting, daily scrum), les fonctionnalités sont priorisées (backlogs et user stories), les délais sont tenus (velocity, burndown charts) et le client dispose d’une meilleure visibilité sur l’avancée de son projet (à chaque fin de sprint).

Kanban

Kanban-Board

Kanban est une méthode empruntée au monde de l’automobile Japonais, ou tout est basé sur un jeu d’étiquettes (comme son nom l’indique).

Adapté au mon de de l’informatique et assez simple à mettre en place, cette méthode permet d’avoir une vue assez rapide de l’avancée globale d’un projet ou d’un sprint.

Simple à mettre en oeuvre (post-it, tableau suffissent) et à mettre à jour (déplacer les post it dans une autre partie du tableau), elle peux être implémentée par des équipes sans mêmes qu’elles le sachent !

CSS3 et les medias-queries

mediaqueries

Les medias-queries.

CSS3 apporte beaucoup en terme de mobilité et d’adaptation d’un design au support.

Avant, nous devions utiliser des technologies comme phone gap pour rendre nos pages web compatibles sur tablette ou sur smartphone.

Aujourd’hui, avec les médias-queries, le cascading stylesheet devient conditionnel ! Le design devient responsive et adaptable à l’infini…

Pour cela, nous avons juste besoin de spécifier des conditions dans l’attribut média, comme on pouvais spécifier autrefois « print » :

media="screen and (max-width: 640px)"

Ici nous demandons à notre site de charger une feuille différente pour chaque taille d’écran que nous définissons.

Le web designer n’a plus qu’à exprimer son talent et gérer son flux HTML avec intelligence…

Les nouvelles balises HTML 5 et le SEO

HTML5

L’apport des nouvelles balises HTML 5 en terme de SEO.

HTML 5 relance la force du web sémantique.

Les nouvelles fonctionnalités HTML 5 permettent désormais de donner du sens à l’emploi de nos balises, de mieux structurer le contenu et a fortiori d’optimiser nos pages pour les moteurs de recherche.

Par rapport aux classiques blocs « div », dénués de véritables atouts en terme de SEO, les nouvelles balises HTML 5 :

  • « header », comme son nom l’indique permet d’y faire indexer un titre ou des éléments très importants de la page,
  • « nav », Permet d’y insérer un menu de navigation,
  • « section », blocs d’articles, ou élément indexables,
  • « article », y insérer un contenu propre et de qualité,
  • « aside », des éléments moins importants ou de moindre intérêt en terme de référencement,
  • « footer », son nom parle de lui même,

Apportent beaucoup en terme de sémantique et de référencement !

Bien employées, elle permettront d’indiquer à Google (and friends) la structure de nos pages, afin d’en faciliter l’indexation…

Après les mises à jour Google Panda et Google Penguin, qui servaient respectivement à filtrer la qualité des contenus indexés et les abus de netlinks, Google devrait proposer un algorithme plus intelligent prochainement…

Les micro-formats et les micro-données

Ces informations propres au web semantique peuvent être très précieuses pour indiquer aux moteurs de recherche des informations précises, comme des coordonnées géographiques ou relatives à une identité.

Des attributs de balises :

  • itemtype, le type d’élément (card, calendar, review…)
  • itemscope, un élément identifié,
  • itemprop, une propriété de l’élément (adresse, summary…),

Permettre de décrire efficacement, de structurer les données affichées pour pouvoir être indexables et exportées plus facilement.