Refonte du site de Richelieu Finance à l'aide du framework Symfony Retour d'expérience



Documents pareils
Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

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

Les frameworks, essentiels dans l'écosystème PHP

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

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

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

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

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

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

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

>>>>>>>>>> roger atasi <<<<<<<<<<<<<<< chez , boulevard Victor Hugo Clichy - Tél :

Savoir- Faire Offres mé1ers Offres technologiques

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

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>

Petite définition : Présentation :

Nouveautés de Drupal 8. Léon

FileMaker Server 14. Guide de démarrage

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Les Content Delivery Network (CDN)

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Formation en Logiciels Libres. Fiche d inscription

Gérer une forte charge avec ez Publish Obtenir la meilleure réactivité de publication. Solutions natives ez. Solution spécifique.

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Mercredi 15 Janvier 2014

Cursus 2013 Déployer un Content Management System

Programme ASI Développeur

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

Piwik L'alternative Open Source en web analytique - Version numérique

Architectures en couches pour applications web Rappel : Architecture en couches

CMS Open Source : état de l'art et méthodologie de choix

Présentation de solutions de Progiciels de Gestion d'epn Forum des Usages Brest 2010

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

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

Catalogue Formations Jalios

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Nos webmasters, web designers et ingénieurs de développement vous accompagnent dans vos projets afin de vous apporter entière satisfaction.

Rapport de stage Clément MOYSAN

Les systèmes de gestion de contenu en ligne SPIP

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Internationalisation d'une application Python

Expertises Métiers & e-business. Technologies Microsoft & OpenSource. Méthodologies et gestion de projet

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Mise à jour : Octobre 2011

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Bonnes pratiques de développement JavaScript

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

PHP 5.4 Développez un site web dynamique et interactif

Programmation Web. Madalina Croitoru IUT Montpellier

Un site Web performant p 3. Les moteurs de la réussite p 4

A5.2.4 Étude d une technologie, d'un composant, d'un outil

Introduction à. Oracle Application Express

novatis Agence Web innovatrice

Découvrir le CMS. et l utiliser dans une approche pro!

LICENCE PROFESSIONNELLE

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

CCI DE SAÔNE-ET-LOIRE - ATELIER ENP 18 MAI La création de sites internet

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Architectures web/bases de données

L essentiel. Coopérative, flexible, très performante : la plateforme Engineering Base. web aucotec.com

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

Documentation technique

De Zéro à Construire des expériences digitales uniques toujours à la pointe du web avec Acquia Cloud Site Factory

Proposition aiw pour le site internet de. Proposition all-in-web 20 avril 2014

CQP Développeur Nouvelles Technologies (DNT)

COMPÉTENCES TECHNIQUES

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

BES WEBDEVELOPER ACTIVITÉ RÔLE

Tests de montée en charge & Haute disponibilité

Introduction MOSS 2007

Par l'exemple de. Laurent Destailleur

Catalogue de formations

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

Architecture et infrastructure Web

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

Urbanisme du Système d Information et EAI

X2BIRT : Mettez de l interactivité dans vos archives

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

FORMATION TALEND. Page 1 sur 9

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

SYSTÈMES D INFORMATIONS

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Agence Web innovatrice

Du point de vue des entreprises, faut-il privilégier les Frameworks PHP aux CMS Open pour la création de sites internet?

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

ADF Reverse Proxy. Thierry DOSTES

Présentation Alfresco

Migration et import de données

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Performance, rendement Vs Evolutivité

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Loïc Rossignol Ingénieur Consultant

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Comment booster vos applications SAP Hana avec SQLSCRIPT

1. Des chartes graphiques homogènes, élégantes, créatives

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Transcription:

Refonte du site de Richelieu Finance à l'aide du framework Symfony Retour d'expérience Hervé Schmitt - coordinateur e-buisiness Richelieu Finance Tristan Rivoallan consultant technique Clever Age Xavier Lacot consultant technique Clever Age 1

Présentation du contexte Sommaire Pourquoi utiliser Symfony? Architecture applicative de la plateforme réalisée Particularités des développements Optimisation des performances serveur Perspectives 2

le contexte client 3

Contexte client le contexte client Une obligation de moyens Une profession soumise à de nombreuses réglementations Richelieu Finance est très exigeant en termes de résultats et de réactivité 4

le contexte client Pré-requis Besoin de réactivité, flexibilité, disponibilité Une intégration réversible 5

Le choix de PHP la finance : un monde de logiciels propriétaires aux langages exotiques PHP est très répandu : disponibilité des développeurs réponse à des besoins Web aussi bien qu'à des besoins Métiers PHP des contraintes mais pas de limite 6

Le choix d'un framework Un existant peu satisfaisant... Révision des objectifs : Solution open source Communauté active et réactive Période d'appropriation rapide Facilités client riche 7

clever age Création en 2001 à Paris Présence en Pologne depuis 2004 Lyon et Bordeaux en 2006 Indépendance Veille technologique Conviction 8

l'existant 9

l'existant richelieufinance.com LAMP ezpublish 3.6 PEAR 10

l'existant richelieufinance.com Trafic moyen (2000/3000 visiteurs par jour) Espaces privés Données sensibles 11

l'existant richelieufinance.com Données gérées par le CMS Articles Structure du site Volumétrie faible 12

l'existant richelieufinance.com Données «métier» Issues d'applications externes Sensibles Volumétrie importante 13

notre compréhension des besoins 14

les besoins de richelieufinance Accélérer les développements 15

les besoins de richelieufinance Simplifier la mise à jour du site 16

les besoins de richelieufinance Améliorer les performances du site 17

les besoins de richelieufinance Internationaliser le site 18

les besoins de richelieufinance et bien entendu : Réaliser tout ça rapidement 19

Pourquoi employer un framework? (OpenSource) 20

pourquoi employer un framework? Pour cesser de ré-inventer la roue en permanence! 21

pourquoi employer un framework? Pour libérer le client 22

pourquoi employer un framework? Pour profiter du travail de la communauté 23

pourquoi employer un framework? Pour y prendre du plaisir! 24

pourquoi Symfony? 25

pourquoi Symfony? 26

Pourquoi Symfony? 27

pourquoi Symfony? PHP5, MVC, «à la Rails» (bref, moderne) 28

pourquoi Symfony? Communauté active IRC forum snippets mailing-list 29

pourquoi Symfony? Développement ouvert 30

pourquoi Symfony? Très bien documenté 31

pourquoi Symfony? et bien sûr : Symfony correspondait à nos besoins 32

les principaux concepts de Symfony 33

les principaux concepts de Symfony CLI MVC AJAX CRUD plugins helpers routage scaffolding PHP5 (objet) Propel (ORM) tests unitaires admin generator 34

les principaux concepts de Symfony Command Line Interface 35

les principaux concepts de Symfony javascript et JAJAX <?php echo link_to_function("cliquez sur ce lien!", "alert('foobar')")?> symfony <a href="#" onclick="alert('foobar');return none;">cliquez sur ce lien!</a> 36

les principaux concepts de Symfony admin generator $ symfony propel-init-admin symfony modèle de données 37

la plateforme en place chez Richelieu Finance 38

Architecture applicative de la plateforme réalisée HTTP Noeuds / I18n FPDF Rapports PDF CMS Fonds etc. Image Graph Graphes PNG Propel Creole Client SYMFONY DB DataObject XML pour FusionCharts Lib Richelieu / DBO PEAR FusionCharts Richelieu (CMS) Métier 39

une petite démo? 40

Architecture applicative de la plateforme réalisée Gestion des contenus Articles Arborescence Administration du site CMS Noeuds / I18n Propel Creole SYMFONY etc. 100 % Symfony Richelieu (CMS) 41

Architecture applicative de la plateforme réalisée accès aux données «métier» Réutiliser l'existant Prévoir la migration vers un nouveau mode d'accès aux données Fonds Communs de Placement Lib Richelieu DB DataObject PEAR Espace «Partenaires» Métier 42

Architecture applicative de la plateforme réalisée Graphiques et rapports Fusion Charts FPDF Rapports PDF Image Graph Image Graph Graphes PNG FPDF XML généré avec Symfony DB DataObject PEAR XML pour FusionCharts FusionCharts Métier 43

gestion des urls «routage++» 44

gestion des urls (internationalisées!) Triple problématique : ajout dynamique de pages navigation administrable internationalisation des URLs 45

gestion des urls (internationalisées!) Conséquences directes : création d'un module dédié au routage par noeuds modification du système de cache modification de la gestion des accréditations 46

gestion des urls (internationalisées!) http://richelieufinance.com/ en/funds/synthesis routing Symfony module permalink Nodes culture url module action fr fonds/synthese fonds synthese en funds/synthesis fonds synthese en presentation/staff equipes list module article module fonds module equipes module graphes... 47

i18n 48

Internationalisation Contenus en base : gérés par Symfony Textes des interfaces : gérés par Symfony URLs : gérées par le système de noeuds code PHP xgettext extraction Fichier Gettext xlifftools conversion Fichier XLIFF <?php echo ('bienvenue')?> msgid: bienvenue msgstr: welcome <source>bienvenue</source> <target xml:lang="en"> welcome </target> 49

l'atelier de développement 50

théorie l'atelier de développement Garantir la prévisibilité des livrables et des délais Assurer la «réversibilité» des développements Contrôler l'exploitation et l'évolution des investissements logiciels 51

l'atelier de développement pratique Trac Subversion svn:externals 52

trac l'atelier de développement Intégration avec Subversion Documentation (wiki) Request tracking Feuille de route Timeline 53

l'atelier de développement svn:externals résoud le problème des «vendors» facilite le reversement de code encore mal connu 54

pimp my serveur (architecture d'exploitation) 55

Architecture serveur httpd_docs port 80 500 Ko mod_proxy mod_security Clients httpd_php port 8000 15 Mo 56

Performance Les instances de httpd_php ne font que le strict nécessaire Les objets statiques sont servis par httpd_docs 57

Extensibilité Mise en place de load balancing aisée (mod_proxy_balancer) 58

Sécurité httpd_php est inaccessible de l'extérieur mod_security analyse toutes les requêtes passant par le proxy 59

60

perspectives 61

WS sémantique perspectives site web datawarehouse outils internes (contrôles OPCVM, etc.) rfmailer (gestion de newsletters) 62

WS sémantique perspectives site web datawarehouse outils internes (contrôles OPCVM, etc.) rfmailer (gestion de newsletters) 63

perspectives symfony : vers la 1.0 Internationalisation Stabilisation API stable BC 64

perspectives... et ensuite extraction de l'orm par défaut toujours plus de plugins doctrine 65

des questions? This is the end http://www.symfony-project.com http://www.clever-age.com http://www.richelieufinance.com Xavier Lacot <xlacot@clever-age.com> Tristan Rivoallan <trivoallan@clever-age.com> Hervé Schmitt <hschmitt@richelieufinance.com> 66