projet Développeur <3 Symfony Mon parcours 2001 - Au revoir le lycée 2003 - CAP d’électricien dans le BTP 2005 - Technicien Supérieur Informatique (BTS) 2005 - Bonjour Web 2006 - Bonjour Intégration (et la sémantique) 2008 - Bonjour PHP 2012 - Bonjour Symfony
Basé sur RDF • Utilisable aussi bien dans des pages HTML que des documents XML • Recommandation 1.0 du W3C le 14 Octobre 2008 (HTML 4 - XHTML) • Recommandation 1.1 du W3C le 22 Aout 2013 (HTML 5) • Généralement dur à appréhender (tryptique, verbeux…) • http://fr.wikipedia.org/wiki/RDFa Piqure de rappel - RDFa
L’objectif premier est d’appliquer des RFCs tierces (vCard, vCalendar, ATOM…) au (X)HTML • Très simple • http://fr.wikipedia.org/wiki/Microformats Piqure de rappel - Microformats
Schema.org • Né d’un rapprochement équivalent à celui de sitemap.org de la part de Bing/Google/Yahoo! le 2 juin 2011 puis Yandex le 1er novembre 2011 • Adaptation et transposition en HTML (RDFa + Microdata) et JSON-LD d’un grand nombres de langage sémantique à travers un socle commun • http://fr.wikipedia.org/wiki/Micro-donn%C3%A9es Piqure de rappel - Microdatas
meilleurs que les développeurs à ce niveau (même les mecs qui font du Wordpress) • Très peu de développeurs s’intéressent à la sémantique Le constat qui fait mal
Trouver des design récurrents • Segmenter les designs en éléments fonctionnels et indépendants • Faciliter la communication entre tous les acteurs du projet • Complémentaire au DDD (Domain Driven Design) ! Qu’est-ce que c’est ?
Doit toujours jongler avec un juste milieu • On fait du PHP… (c’est la que tu te dis que l’héritage multiple et les Traits ça n’a vraiment rien à voir) • Il faut accepter les règles des outils qu’on utilise Inconvénients
Si une règle ne vous parait pas correcte, fixer en une nouvelle (Documentation, PR…) ! • Exemple : • La hierarchisation des bundles de Symfony : Bridge/ Bundle/Component • Les prefix/suffix de classes : Abstract/Interface Généralités
faut trouver un juste milieu entre la sémantique et le domaine du client • Doit correspondre à une approche globale et une vraie réflexion entre les différents acteurs • Correspond mieux aux environnements NoSQL • Simplicité !== Complexité Généralités
est une adaptation du langage du client • Ne vous contentez pas de suivre le langage du client • Utilisez également le référentiel sémantique • Echangez avec lui • Fixez des “constantes” : • “Name” !== “Title” Le nommage
• Une “simplification” de la conception de votre modèle • D’être extensible ! • L’approche sémantique à pour inconvénient : • D’être plus adapté au NoSQL (Document et Graph) • Dans un environnement *SQL, vous aurez beaucoup de colonnes La modélisation
Utilisez les DTO (Data Transfer Object) afin de compléter votre modèle métier en un modèle sémantique • “Encapsulez” • Lib : Model • Bundle : Document/Entity/… • Application : Jointures / Références / Embed La modélisation