SlideShare a Scribd company logo
1 of 43
Download to read offline
Internationalisation et
localisation avec
Zend Framework
Mickaël Perraud
Contributeur Zend Framework
Responsable documentation française




                                      © All rights reserved. Zend Technologies, Inc.
Mickael Perraud
       Contributeur ZF depuis 2007
       Responsable documentation française
       Travaille sur l'aide à la traduction et
       propose les versions déconnectées de la
       documentation PDF / CHM
              @mikaelkael / http://mikaelkael.fr




                  © All rights reserved. Zend Technologies, Inc.
Qu'allons-nous voir aujourd'hui ?




3                 © All rights reserved. Zend Technologies, Inc.
Plan
    • Internationalisation (I18n)
           Généralités
           Zend Framework et I18n


    • Traduction
           Qu'entendons-nous par traduction ?
           Créer et travailler avec les traductions
           Regardons en détails !
           Futures améliorations
4   Plan




                              © All rights reserved. Zend Technologies, Inc.
Internationalisation (I18N)




5                 © All rights reserved. Zend Technologies, Inc.
Généralités – I18n vs L10n

                           Tout le monde ne parle pas anglais !



    • Internationalisation vs. Localisation:
         I18n => supporte les autres régions sans changer votre code
         L10n => propose votre projet pour une région en particulier



    • Zend Framework supporte tout ceci


6   Internationalisation




                                       © All rights reserved. Zend Technologies, Inc.
Généralités – Qu'est-ce qu'une locale ?

    • Locale
         Locale, le point central pour la L10n
         Langue + Région
         Région vs Pays
         Informations additionnelles (table de caractères, encodage)




                             en_US = langue anglaise + région USA
                           fr_FR = langue française + région France


7   Internationalisation




                                       © All rights reserved. Zend Technologies, Inc.
Zend Framework et I18n – Les classes
                                                                                      Zend Framework
                           ZF I18n core

                                            Zend_Locale



                            Zend_Currency    Zend_Date                   Zend_Translate




    • Zend_Locale
         Gestion de la locale (indépendant de PHP et de l'OS)
         Informations pré-traduites
         Contient le formatage


8   Internationalisation




                                             © All rights reserved. Zend Technologies, Inc.
Zend Framework et I18n – Les classes
    • Zend_Currency
         Gestion de monnaies localisées



    • Zend_Date
         Gestion des heures et dates localisées



    • Zend_Translate
         Gestion générique de la traduction




9   Internationalisation




                              © All rights reserved. Zend Technologies, Inc.
Traduction avec Zend Framework




10               © All rights reserved. Zend Technologies, Inc.
Généralités
     • Comment fonctionne la traduction
         Concept et processus

     • Fichiers sources
         Création et gestion

     • Traduisez-moi !
         Exemple d'utilisation

     • Pour aller plus loin
         Mise en cache, performance




11   Traduction avec Zend Framework




                                      © All rights reserved. Zend Technologies, Inc.
Comment fonctionne la traduction
     • Toutes les langues sont différentes
         Il faut fournir à votre utilisateur un site dans une langue qu'il comprend
         La plupart des navigateurs envoie leurs langues préférées
                           Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7,fr-be;q=0.6,fr-fr;q=0.4,fr-fr;q=0.3,en-us;q=0.2,en;q=0.1

         La traduction n'est qu'une partie d'un site multilingue




             Utilisateur                    Détection                        Choix de la                  Affectation
           accède au site                  de la langue                      traduction                    traduction




12   Traduction avec Zend Framework




                                                         © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Concept des adaptateurs
     • Concept des adaptateurs
         Multiples types de source supportés
         Facile d'implémenter votre propre adaptateur


     • Sélectionnez l'adaptateur suivant votre utilisation
         L'utilisation peut ensuite évoluer
         Basculer vers un autre adaptateur se fait alors en 1 seule
             ligne




13   Translation within Zend Framework




                                         © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Adaptateurs
         Array
         Csv
         Gettext
         Ini
         Qt
         Tbx
         Tmx
         Xliff
         XmlTm
         Le vôtre…

14   Translation within Zend Framework




                                         © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Adaptateur Array
                      return array(
                          'Original content' => 'Translated content',
                          'Another content' => 'Also translated'
                      );



     • Pour                                         • Contre
         Rapide, le plus rapide                          Pas d'outil d'édition
         Lisible par l'homme                             Pas simple pour le client final


     • Utilisation
          Au cours du développement
          Petit site à site moyen

15   Translation within Zend Framework




                                         © All rights reserved. Zend Technologies, Inc.
Fichier sources – Adaptateur CSV

                    “Original content”;”Translated content”
                    “Another content”;“Also translated”




     • Pour                                         • Contre
         Rapide                                          Pas d'outil d'édition
         Lisible par l'homme
         Éditable par le client
     • Utilisation
          Traduction par le client
          Petit site à site moyen

16   Translation within Zend Framework




                                         © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Adaptateurs INI

                    Original_content = “Translated content”
                    Another_content = “Also translated”




     • Pour                                         • Contre
         Rapide                                          Pas d'outil d'édition
         Lisible par l'homme                             Pas simple pour le client final
                                                          Limitation au niveau des clés
     • Utilisation
          Mixe la traduction avec la configuration
          Petit site à site moyen

17   Translation within Zend Framework




                                         © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Adaptateur Gettext

                     FORMAT BINAIRES (fichiers *.mo)… *.po n'est pas Gettext




     • Pour                                                • Contre
         Crypté pour le client                                  Figé pour le client
         Outils gratuits                                        Pas lisible par l'homme
         Traduction professionnelle
     • Utilisation
          De nombreuses sources sont disponibles
          Petit site à site d'entreprise

18   Translation within Zend Framework




                                              © All rights reserved. Zend Technologies, Inc.
Fichiers sources – Adaptateur TMX
                    ** XML HEADERS **
                    <tu tuid='Message 1'>
                       <tuv xml:lang="en"><seg>Message 1 (en)</seg></tuv>
                       <tuv xml:lang="fr"><seg>Message 1 (fr)</seg></tuv>
                    </tu>



     • Pour                                                   • Contre
         Outils de traduction                                      Pas de bons outils d'édition libre
             professionnels                                         Difficile pour le client final
         Supporte les balises HTML                                 Nécessité d'utiliser un cache
     • Utilisation
          Avec les services de traduction professionnels
          Site moyen à site d'entreprise
                                         REMARQUE : on lit parfois qu'il s'agit d'un « standard
19   Translation within Zend Framework
                                         industriel », ATTENTION c'est un format lourd et verbeux

                                                   © All rights reserved. Zend Technologies, Inc.
Exemples concrets




20               © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');




21   Working examples




                                       © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');


            Sélectionner votre adaptateur
                Une seule ligne nécessaire pour changer d'adaptateur




22   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Traduisez moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');


          Où sont les traductions ?
                Dossier
                Fichier unique




23   Working examples




                                       © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');


          Quelle langue ?
                Détection automatique (‘auto’, ‘browser’)
                Déclaration manuelle (‘de_AT’, ‘en_US’)
                Paramètre global de l'application (Zend_Application)




24   Working examples




                                         © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');


          Options possibles
                Scan : recherche de traduction
                        • LOCALE-DIRECTORY :               /www/lang/fr/file.php
                        • LOCALE-FILE:                     /www/lang/file-fr.php




25   Working examples




                                               © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                    $trans = new Zend_Translate(
                        array('adapter' => 'array',
                              'content' => '/www/lang/',
                              'locale' => 'fr_FR',
                              'scan' => Zend_Translate::LOCALE_DIRECTORY
                        )
                    );
                    $trans->translate('I said hello');


          Ça marche !
                Retourne « J'ai dit bonjour »




26   Working examples




                                         © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                   /language

                   /language/en_GB
                   /language/en_GB/file1.xxx

                   /language/fr_BE
                   /language/fr_BE/file1.xxx




          Zend_Translate::LOCALE_DIRECTORY :
                Locale à l'intérieur d'un dossier
                Partiellement possible sous la forme :
                        • /language/App1-en_US/xxx
                        • /language/Something_en_GB_different/xxx




27   Working examples




                                               © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Exemple d'utilisation
                   /language

                   /language/dir/
                   /language/dir/file1-en_GB.xxx

                   /language/dir2
                   /language/dir2/file2-fr_BE.xxx




          Zend_Translate::LOCALE_FILE:
                Locale à l'intérieur d'un fichier
                Partiellement possible sous la forme :
                        • file1.en.tmx
                        • file_en-GB.php
                        • file_fr-something.mo



28   Working examples




                                                    © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Aide de vue
                        $this->translate('I said hello');
                        $this->translate('Company Name', 'en');




          Aide de vue traduction (dans vos scripts de vue)
                Plus simple
                Plus court




29   Working examples




                                           © All rights reserved. Zend Technologies, Inc.
Traduisez-moi – Traductions dynamiques
              $this->translate("Pay %1$s euro", $money);
              $this->translate("Pay %1$s euro until %2$s", $money, $date);




          Ajouter des paramètres à votre traduction
                Avec une syntaxe de type sprintf
                Plusieurs paramètres possibles
                Les autres langues peuvent changer l'ordre




30   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Autres composants – Le registre
                    $translate = new Zend_Translate(/*...*/);

                    Zend_Registry::set(‘Zend_Translate’, $translate);




          Zend_Registry
                Utilisable partout dans votre application
                        • Zend_Form
                        • Zend_Validate
                        • Zend_View
                        • Et d'autres...


31   Working examples




                                           © All rights reserved. Zend Technologies, Inc.
Autres composants – Application

                    resources.translate.adapter = “array“;
                    resources.translate.locale = “fr_FR”;
                    resources.translate.data    = “/www/lang/”;




          Application
                Reconnu partout dans votre application
                Configurable




32   Working examples




                                           © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Traduction des pluriels
                    $translate->plural('Car', 'Cars', 2);
                    $translate->translate(array('Car', 'Cars', 2));

                    $this->translate(array('Car', 'Cars', 2));




          Singulier / Pluriel
                Car (un élément) / Singulier
                Cars (plusieurs éléments) / Pluriel
                Même méthode pour gérer le singulier ou le pluriel




33   Working examples




                                          © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Traduction des pluriels

                 $this->translate(array('%1$s Car', '%1$s Cars', $nb));




          N'oubliez pas vos paramètres
                1 Car
                3 Cars
                Règles des pluriels implémentées pour toutes les langues




34   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Traduction des pluriels

                $this->translate(array('Singular', 'Plural1', 'Plural2', 2));




          Préparé pour le futur de PHP (PHP 6 ?)
                Plusieurs langues permettent de définir plus d'1 pluriel
                Vous permet d'écrire votre code source dans la langue
                   considérée




35   Working examples




                                          © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Traduction des pluriels
     Les règles plurielles sont supportées par :                          Mais pas par :

              ▶    Array                                                            ▶   Ini
              ▶    CSV                                                              ▶   Qt
              ▶    Gettext                                                          ▶   Tmx
                                                                                    ▶   Tbx
                                                                                    ▶
                                                                                        Xliff
                                                                                    ▶   XmlTm




36   Working examples




                                   © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Performance
         Cache… cache… cache


         • Règle 1: utilisez un cache !!!




37   Working examples




                                    © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Performance
         Cache… cache… cache


         • Règle 1: utilisez un cache !!!
         • Règle 2: utilisez toujours un cache !!!




38   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Pour allez plus loin – Performance
         Cache… cache… cache


         • Règle 1: utilisez un cache !!!
         • Règle 2: utilisez toujours un cache !!!
         • Règle 3: vous devez utiliser un cache !!!




39   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Pour aller plus loin – Performance
         Caching… caching… caching


         • Règle 1: utilisez un cache !!!
         • Règle 2: utilisez toujours un cache !!!
         • Règle 3: vous devez utiliser un cache !!!


         Tous les adaptateurs ont la MÊME VITESSE
         • Seule la lecture initiale est différente




40   Working examples




                                        © All rights reserved. Zend Technologies, Inc.
Résumé
     La traduction avec Zend_Translate est

         Simple à utiliser
         Facile à mettre en oeuvre
         Intégrée à plusieurs autres composants de Zend Framework


     Pour plus d'informations

         Lisez le manuel : http://framework.zend.com/manual/ ou
          http://doczf.mikaelkael.fr
         Reportez-vous au blog de l'auteur de quasiment toute la partie I18N et L10N
          de ZF : http://www.thomasweidner.com




41   Working examples




                                      © All rights reserved. Zend Technologies, Inc.
Merci
        Des questions ?


           Talks : http://joind.in/event/view/2504
           Slideshare : http://www.slideshare.net/mikaelkael

42                       © All rights reserved. Zend Technologies, Inc.
Formation Zend Framework
                     Zend Framework : concepts avancés
      Ce cours est conçu pour apprendre aux développeurs PHP qui travaillent déjà avec le Zend Framework
    comment appliquer les bonnes pratiques lorsqu’ils construisent et configurent leurs applications que ce soit
                          pour la scalabilité, l’interactivité ou les hautes performances.
      http://www.zend.com/en/services/training/course-catalog/zend-framework-advanced

Sujets abordés
•    Présentation et approfondissement des concepts de base (incluant le design pattern MVC, Zend_Db,
Zend_Form, les plug-ins)

•       Développement et test (incluant Zend_Application, Zend_Tool, Zend_Test)

•       Rich Internet Applications (incluant Zend_Dojo, Zend_Soap_Server)

•    Les systèmes interactifs (incluant Zend_Mail, Zend_Feed, l'internationalisation, Zend_Pdf,
Zend_Search_Lucene)

•   Systèmes gérant la scalabilité, la fléxibilité et les hautes performances (incluant Zend_Cache, les
modules MVC, Zend_Navigation, Zend_Queue)

Prochains cours :
        Du 4 au 6 avril
        Du 20 au 22 juin
                                          © All rights reserved. Zend Technologies, Inc.

More Related Content

Viewers also liked

Kazan Gerbang Islam di Rusia
Kazan Gerbang Islam di RusiaKazan Gerbang Islam di Rusia
Kazan Gerbang Islam di RusiaAwalia Hafsyah
 
Queensryche silent lucidity
Queensryche silent lucidity Queensryche silent lucidity
Queensryche silent lucidity Mau Jen
 
HO2 SAP NetWeaver Portal Suite 2014
HO2 SAP NetWeaver Portal Suite 2014HO2 SAP NetWeaver Portal Suite 2014
HO2 SAP NetWeaver Portal Suite 2014Holger Valentin
 
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Daniel Krebser
 
Sesion 12 dos visiones del trabajo
Sesion 12 dos visiones del trabajoSesion 12 dos visiones del trabajo
Sesion 12 dos visiones del trabajoAsael Lopez
 
FORAG - Social Trends 2012 - Home Entertainment
FORAG - Social Trends 2012 - Home Entertainment FORAG - Social Trends 2012 - Home Entertainment
FORAG - Social Trends 2012 - Home Entertainment BurdaForward Advertising
 
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?Grünspar
 
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...Centro Educativo de Sistemas Uparsistem
 
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...WebTarget Inc.
 
Oenoview pour caractérises le profil vignes et segmenter les apports
Oenoview pour caractérises le profil vignes et segmenter les apportsOenoview pour caractérises le profil vignes et segmenter les apports
Oenoview pour caractérises le profil vignes et segmenter les apportsQualiméditerranée
 
VBD Portfolio - Français
VBD Portfolio - FrançaisVBD Portfolio - Français
VBD Portfolio - Françaisvisionnaires
 
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®Qualiméditerranée
 

Viewers also liked (18)

Evi kai lina ppt
Evi kai lina pptEvi kai lina ppt
Evi kai lina ppt
 
ABMSS DCKH SCF TANA
ABMSS DCKH SCF TANAABMSS DCKH SCF TANA
ABMSS DCKH SCF TANA
 
Kazan Gerbang Islam di Rusia
Kazan Gerbang Islam di RusiaKazan Gerbang Islam di Rusia
Kazan Gerbang Islam di Rusia
 
Queensryche silent lucidity
Queensryche silent lucidity Queensryche silent lucidity
Queensryche silent lucidity
 
HO2 SAP NetWeaver Portal Suite 2014
HO2 SAP NetWeaver Portal Suite 2014HO2 SAP NetWeaver Portal Suite 2014
HO2 SAP NetWeaver Portal Suite 2014
 
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
 
Sesion 12 dos visiones del trabajo
Sesion 12 dos visiones del trabajoSesion 12 dos visiones del trabajo
Sesion 12 dos visiones del trabajo
 
FORAG - Social Trends 2012 - Home Entertainment
FORAG - Social Trends 2012 - Home Entertainment FORAG - Social Trends 2012 - Home Entertainment
FORAG - Social Trends 2012 - Home Entertainment
 
Intervention Sophie Marnier - Metteur en scène de territoire - INTERPATT 2012
Intervention Sophie Marnier - Metteur en scène de territoire - INTERPATT 2012Intervention Sophie Marnier - Metteur en scène de territoire - INTERPATT 2012
Intervention Sophie Marnier - Metteur en scène de territoire - INTERPATT 2012
 
Paper 4 2010 a
Paper 4  2010 aPaper 4  2010 a
Paper 4 2010 a
 
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?
Trendreport Energiesparen - Wie haben die Deutschen 2013 Energie gespart?
 
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...Jesus david beltran ramos   sitos turisticos, historicos y monumentos de vall...
Jesus david beltran ramos sitos turisticos, historicos y monumentos de vall...
 
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...
eCom Montreal 2011 Bien planifier sa stratégie de Commerce Electronique - web...
 
Jenseits von Klausuren und klassischer Textverarbeitung - Akademisches Arbeit...
Jenseits von Klausuren und klassischer Textverarbeitung - Akademisches Arbeit...Jenseits von Klausuren und klassischer Textverarbeitung - Akademisches Arbeit...
Jenseits von Klausuren und klassischer Textverarbeitung - Akademisches Arbeit...
 
Oenoview pour caractérises le profil vignes et segmenter les apports
Oenoview pour caractérises le profil vignes et segmenter les apportsOenoview pour caractérises le profil vignes et segmenter les apports
Oenoview pour caractérises le profil vignes et segmenter les apports
 
VBD Portfolio - Français
VBD Portfolio - FrançaisVBD Portfolio - Français
VBD Portfolio - Français
 
EduBlog: Ejemplos reales
EduBlog: Ejemplos realesEduBlog: Ejemplos reales
EduBlog: Ejemplos reales
 
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®
Présentation de 2 OAD : Les modèles Potentiels Système et Optidose ®
 

Similar to Découvrez le noyau d'internationalisation du Zend Framework

Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyXavier Gorse
 
Click and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsClick and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsSophie Beaupuis
 
Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2Sophie Beaupuis
 
Pourquoi la documentation compte ?
Pourquoi la documentation compte ?Pourquoi la documentation compte ?
Pourquoi la documentation compte ?sarahhaim shl
 
Agile Day Tunisia 2012 - Quand le langage devient Agile
Agile Day Tunisia 2012 - Quand le langage devient AgileAgile Day Tunisia 2012 - Quand le langage devient Agile
Agile Day Tunisia 2012 - Quand le langage devient AgileTunisia Scrum User Group
 
resume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfresume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfFootballLovers9
 
Ez18n theorie encoding gouvernance
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernancegdigugli
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisChipway
 
Web perf Silicon Comte
Web perf Silicon ComteWeb perf Silicon Comte
Web perf Silicon ComteSilicon Comté
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalAdyax
 
Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp Tunisie
 
1. Prestashop - Pré-requis
1. Prestashop - Pré-requis1. Prestashop - Pré-requis
1. Prestashop - Pré-requisAgence Webup
 
Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Zend Framework - Simplicity Meet Power
Zend Framework - Simplicity Meet PowerZend Framework - Simplicity Meet Power
Zend Framework - Simplicity Meet PowerALTAIDE
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Lean en conception et développement par Michael Ballé
Lean en conception et développement par Michael BalléLean en conception et développement par Michael Ballé
Lean en conception et développement par Michael BalléInstitut Lean France
 
Devoxx france-2013-lecons-cloud
Devoxx france-2013-lecons-cloudDevoxx france-2013-lecons-cloud
Devoxx france-2013-lecons-cloudDali Kilani
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 

Similar to Découvrez le noyau d'internationalisation du Zend Framework (20)

Utiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec SymfonyUtiliser le Zend Framework avec Symfony
Utiliser le Zend Framework avec Symfony
 
Click and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et JenkninsClick and deploy - Continuous delivery avec Zend Server et Jenknins
Click and deploy - Continuous delivery avec Zend Server et Jenknins
 
Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2Zf2++ Quelques idées sur l'avenir proche de ZF2
Zf2++ Quelques idées sur l'avenir proche de ZF2
 
Pourquoi la documentation compte ?
Pourquoi la documentation compte ?Pourquoi la documentation compte ?
Pourquoi la documentation compte ?
 
Agile Day Tunisia 2012 - Quand le langage devient Agile
Agile Day Tunisia 2012 - Quand le langage devient AgileAgile Day Tunisia 2012 - Quand le langage devient Agile
Agile Day Tunisia 2012 - Quand le langage devient Agile
 
resume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdfresume-theorique-m105-0903-2-622f06c594dce.pdf
resume-theorique-m105-0903-2-622f06c594dce.pdf
 
WordCamp Montréal 2019 - 50 000 traductions en 90 jours
WordCamp Montréal 2019 - 50 000 traductions en 90 joursWordCamp Montréal 2019 - 50 000 traductions en 90 jours
WordCamp Montréal 2019 - 50 000 traductions en 90 jours
 
Ez18n theorie encoding gouvernance
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernance
 
Conference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à ParisConference drupal 8 au Forum PHP 2013 à Paris
Conference drupal 8 au Forum PHP 2013 à Paris
 
Querix lycia presentation v1.2 fr
Querix lycia presentation v1.2 frQuerix lycia presentation v1.2 fr
Querix lycia presentation v1.2 fr
 
Web perf Silicon Comte
Web perf Silicon ComteWeb perf Silicon Comte
Web perf Silicon Comte
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 
Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php Barcamp tunisie edition 2010 langage de programmation php
Barcamp tunisie edition 2010 langage de programmation php
 
1. Prestashop - Pré-requis
1. Prestashop - Pré-requis1. Prestashop - Pré-requis
1. Prestashop - Pré-requis
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Zend Framework - Simplicity Meet Power
Zend Framework - Simplicity Meet PowerZend Framework - Simplicity Meet Power
Zend Framework - Simplicity Meet Power
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Lean en conception et développement par Michael Ballé
Lean en conception et développement par Michael BalléLean en conception et développement par Michael Ballé
Lean en conception et développement par Michael Ballé
 
Devoxx france-2013-lecons-cloud
Devoxx france-2013-lecons-cloudDevoxx france-2013-lecons-cloud
Devoxx france-2013-lecons-cloud
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 

More from Mickael Perraud

Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Mickael Perraud
 
Présentation de DBAL en PHP
Présentation de DBAL en PHPPrésentation de DBAL en PHP
Présentation de DBAL en PHPMickael Perraud
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2Mickael Perraud
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkMickael Perraud
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend FrameworkMickael Perraud
 
Tirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormTirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormMickael Perraud
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Mickael Perraud
 

More from Mickael Perraud (8)

Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)
 
Présentation de DBAL en PHP
Présentation de DBAL en PHPPrésentation de DBAL en PHP
Présentation de DBAL en PHP
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2
 
Zf2 ce-qui-va-changer
Zf2 ce-qui-va-changerZf2 ce-qui-va-changer
Zf2 ce-qui-va-changer
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend Framework
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend Framework
 
Tirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormTirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_Form
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
 

Découvrez le noyau d'internationalisation du Zend Framework

  • 1. Internationalisation et localisation avec Zend Framework Mickaël Perraud Contributeur Zend Framework Responsable documentation française © All rights reserved. Zend Technologies, Inc.
  • 2. Mickael Perraud Contributeur ZF depuis 2007 Responsable documentation française Travaille sur l'aide à la traduction et propose les versions déconnectées de la documentation PDF / CHM @mikaelkael / http://mikaelkael.fr © All rights reserved. Zend Technologies, Inc.
  • 3. Qu'allons-nous voir aujourd'hui ? 3 © All rights reserved. Zend Technologies, Inc.
  • 4. Plan • Internationalisation (I18n) Généralités Zend Framework et I18n • Traduction Qu'entendons-nous par traduction ? Créer et travailler avec les traductions Regardons en détails ! Futures améliorations 4 Plan © All rights reserved. Zend Technologies, Inc.
  • 5. Internationalisation (I18N) 5 © All rights reserved. Zend Technologies, Inc.
  • 6. Généralités – I18n vs L10n Tout le monde ne parle pas anglais ! • Internationalisation vs. Localisation:  I18n => supporte les autres régions sans changer votre code  L10n => propose votre projet pour une région en particulier • Zend Framework supporte tout ceci 6 Internationalisation © All rights reserved. Zend Technologies, Inc.
  • 7. Généralités – Qu'est-ce qu'une locale ? • Locale  Locale, le point central pour la L10n  Langue + Région  Région vs Pays  Informations additionnelles (table de caractères, encodage) en_US = langue anglaise + région USA fr_FR = langue française + région France 7 Internationalisation © All rights reserved. Zend Technologies, Inc.
  • 8. Zend Framework et I18n – Les classes Zend Framework ZF I18n core Zend_Locale Zend_Currency Zend_Date Zend_Translate • Zend_Locale  Gestion de la locale (indépendant de PHP et de l'OS)  Informations pré-traduites  Contient le formatage 8 Internationalisation © All rights reserved. Zend Technologies, Inc.
  • 9. Zend Framework et I18n – Les classes • Zend_Currency  Gestion de monnaies localisées • Zend_Date  Gestion des heures et dates localisées • Zend_Translate  Gestion générique de la traduction 9 Internationalisation © All rights reserved. Zend Technologies, Inc.
  • 10. Traduction avec Zend Framework 10 © All rights reserved. Zend Technologies, Inc.
  • 11. Généralités • Comment fonctionne la traduction  Concept et processus • Fichiers sources  Création et gestion • Traduisez-moi !  Exemple d'utilisation • Pour aller plus loin  Mise en cache, performance 11 Traduction avec Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 12. Comment fonctionne la traduction • Toutes les langues sont différentes  Il faut fournir à votre utilisateur un site dans une langue qu'il comprend  La plupart des navigateurs envoie leurs langues préférées Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7,fr-be;q=0.6,fr-fr;q=0.4,fr-fr;q=0.3,en-us;q=0.2,en;q=0.1  La traduction n'est qu'une partie d'un site multilingue Utilisateur Détection Choix de la Affectation accède au site de la langue traduction traduction 12 Traduction avec Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 13. Fichiers sources – Concept des adaptateurs • Concept des adaptateurs  Multiples types de source supportés  Facile d'implémenter votre propre adaptateur • Sélectionnez l'adaptateur suivant votre utilisation  L'utilisation peut ensuite évoluer  Basculer vers un autre adaptateur se fait alors en 1 seule ligne 13 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 14. Fichiers sources – Adaptateurs  Array  Csv  Gettext  Ini  Qt  Tbx  Tmx  Xliff  XmlTm  Le vôtre… 14 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 15. Fichiers sources – Adaptateur Array return array( 'Original content' => 'Translated content', 'Another content' => 'Also translated' ); • Pour • Contre  Rapide, le plus rapide  Pas d'outil d'édition  Lisible par l'homme  Pas simple pour le client final • Utilisation  Au cours du développement  Petit site à site moyen 15 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 16. Fichier sources – Adaptateur CSV “Original content”;”Translated content” “Another content”;“Also translated” • Pour • Contre  Rapide  Pas d'outil d'édition  Lisible par l'homme  Éditable par le client • Utilisation  Traduction par le client  Petit site à site moyen 16 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 17. Fichiers sources – Adaptateurs INI Original_content = “Translated content” Another_content = “Also translated” • Pour • Contre  Rapide  Pas d'outil d'édition  Lisible par l'homme  Pas simple pour le client final  Limitation au niveau des clés • Utilisation  Mixe la traduction avec la configuration  Petit site à site moyen 17 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 18. Fichiers sources – Adaptateur Gettext FORMAT BINAIRES (fichiers *.mo)… *.po n'est pas Gettext • Pour • Contre  Crypté pour le client  Figé pour le client  Outils gratuits  Pas lisible par l'homme  Traduction professionnelle • Utilisation  De nombreuses sources sont disponibles  Petit site à site d'entreprise 18 Translation within Zend Framework © All rights reserved. Zend Technologies, Inc.
  • 19. Fichiers sources – Adaptateur TMX ** XML HEADERS ** <tu tuid='Message 1'> <tuv xml:lang="en"><seg>Message 1 (en)</seg></tuv> <tuv xml:lang="fr"><seg>Message 1 (fr)</seg></tuv> </tu> • Pour • Contre  Outils de traduction  Pas de bons outils d'édition libre professionnels  Difficile pour le client final  Supporte les balises HTML  Nécessité d'utiliser un cache • Utilisation  Avec les services de traduction professionnels  Site moyen à site d'entreprise REMARQUE : on lit parfois qu'il s'agit d'un « standard 19 Translation within Zend Framework industriel », ATTENTION c'est un format lourd et verbeux © All rights reserved. Zend Technologies, Inc.
  • 20. Exemples concrets 20 © All rights reserved. Zend Technologies, Inc.
  • 21. Traduisez-moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); 21 Working examples © All rights reserved. Zend Technologies, Inc.
  • 22. Traduisez-moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); Sélectionner votre adaptateur  Une seule ligne nécessaire pour changer d'adaptateur 22 Working examples © All rights reserved. Zend Technologies, Inc.
  • 23. Traduisez moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); Où sont les traductions ?  Dossier  Fichier unique 23 Working examples © All rights reserved. Zend Technologies, Inc.
  • 24. Traduisez-moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); Quelle langue ?  Détection automatique (‘auto’, ‘browser’)  Déclaration manuelle (‘de_AT’, ‘en_US’)  Paramètre global de l'application (Zend_Application) 24 Working examples © All rights reserved. Zend Technologies, Inc.
  • 25. Traduisez-moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); Options possibles  Scan : recherche de traduction • LOCALE-DIRECTORY : /www/lang/fr/file.php • LOCALE-FILE: /www/lang/file-fr.php 25 Working examples © All rights reserved. Zend Technologies, Inc.
  • 26. Traduisez-moi – Exemple d'utilisation $trans = new Zend_Translate( array('adapter' => 'array', 'content' => '/www/lang/', 'locale' => 'fr_FR', 'scan' => Zend_Translate::LOCALE_DIRECTORY ) ); $trans->translate('I said hello'); Ça marche !  Retourne « J'ai dit bonjour » 26 Working examples © All rights reserved. Zend Technologies, Inc.
  • 27. Traduisez-moi – Exemple d'utilisation /language /language/en_GB /language/en_GB/file1.xxx /language/fr_BE /language/fr_BE/file1.xxx Zend_Translate::LOCALE_DIRECTORY :  Locale à l'intérieur d'un dossier  Partiellement possible sous la forme : • /language/App1-en_US/xxx • /language/Something_en_GB_different/xxx 27 Working examples © All rights reserved. Zend Technologies, Inc.
  • 28. Traduisez-moi – Exemple d'utilisation /language /language/dir/ /language/dir/file1-en_GB.xxx /language/dir2 /language/dir2/file2-fr_BE.xxx Zend_Translate::LOCALE_FILE:  Locale à l'intérieur d'un fichier  Partiellement possible sous la forme : • file1.en.tmx • file_en-GB.php • file_fr-something.mo 28 Working examples © All rights reserved. Zend Technologies, Inc.
  • 29. Traduisez-moi – Aide de vue $this->translate('I said hello'); $this->translate('Company Name', 'en'); Aide de vue traduction (dans vos scripts de vue)  Plus simple  Plus court 29 Working examples © All rights reserved. Zend Technologies, Inc.
  • 30. Traduisez-moi – Traductions dynamiques $this->translate("Pay %1$s euro", $money); $this->translate("Pay %1$s euro until %2$s", $money, $date); Ajouter des paramètres à votre traduction  Avec une syntaxe de type sprintf  Plusieurs paramètres possibles  Les autres langues peuvent changer l'ordre 30 Working examples © All rights reserved. Zend Technologies, Inc.
  • 31. Autres composants – Le registre $translate = new Zend_Translate(/*...*/); Zend_Registry::set(‘Zend_Translate’, $translate); Zend_Registry  Utilisable partout dans votre application • Zend_Form • Zend_Validate • Zend_View • Et d'autres... 31 Working examples © All rights reserved. Zend Technologies, Inc.
  • 32. Autres composants – Application resources.translate.adapter = “array“; resources.translate.locale = “fr_FR”; resources.translate.data = “/www/lang/”; Application  Reconnu partout dans votre application  Configurable 32 Working examples © All rights reserved. Zend Technologies, Inc.
  • 33. Pour aller plus loin – Traduction des pluriels $translate->plural('Car', 'Cars', 2); $translate->translate(array('Car', 'Cars', 2)); $this->translate(array('Car', 'Cars', 2)); Singulier / Pluriel  Car (un élément) / Singulier  Cars (plusieurs éléments) / Pluriel  Même méthode pour gérer le singulier ou le pluriel 33 Working examples © All rights reserved. Zend Technologies, Inc.
  • 34. Pour aller plus loin – Traduction des pluriels $this->translate(array('%1$s Car', '%1$s Cars', $nb)); N'oubliez pas vos paramètres  1 Car  3 Cars  Règles des pluriels implémentées pour toutes les langues 34 Working examples © All rights reserved. Zend Technologies, Inc.
  • 35. Pour aller plus loin – Traduction des pluriels $this->translate(array('Singular', 'Plural1', 'Plural2', 2)); Préparé pour le futur de PHP (PHP 6 ?)  Plusieurs langues permettent de définir plus d'1 pluriel  Vous permet d'écrire votre code source dans la langue considérée 35 Working examples © All rights reserved. Zend Technologies, Inc.
  • 36. Pour aller plus loin – Traduction des pluriels Les règles plurielles sont supportées par : Mais pas par : ▶ Array ▶ Ini ▶ CSV ▶ Qt ▶ Gettext ▶ Tmx ▶ Tbx ▶ Xliff ▶ XmlTm 36 Working examples © All rights reserved. Zend Technologies, Inc.
  • 37. Pour aller plus loin – Performance Cache… cache… cache • Règle 1: utilisez un cache !!! 37 Working examples © All rights reserved. Zend Technologies, Inc.
  • 38. Pour aller plus loin – Performance Cache… cache… cache • Règle 1: utilisez un cache !!! • Règle 2: utilisez toujours un cache !!! 38 Working examples © All rights reserved. Zend Technologies, Inc.
  • 39. Pour allez plus loin – Performance Cache… cache… cache • Règle 1: utilisez un cache !!! • Règle 2: utilisez toujours un cache !!! • Règle 3: vous devez utiliser un cache !!! 39 Working examples © All rights reserved. Zend Technologies, Inc.
  • 40. Pour aller plus loin – Performance Caching… caching… caching • Règle 1: utilisez un cache !!! • Règle 2: utilisez toujours un cache !!! • Règle 3: vous devez utiliser un cache !!! Tous les adaptateurs ont la MÊME VITESSE • Seule la lecture initiale est différente 40 Working examples © All rights reserved. Zend Technologies, Inc.
  • 41. Résumé La traduction avec Zend_Translate est  Simple à utiliser  Facile à mettre en oeuvre  Intégrée à plusieurs autres composants de Zend Framework Pour plus d'informations  Lisez le manuel : http://framework.zend.com/manual/ ou http://doczf.mikaelkael.fr  Reportez-vous au blog de l'auteur de quasiment toute la partie I18N et L10N de ZF : http://www.thomasweidner.com 41 Working examples © All rights reserved. Zend Technologies, Inc.
  • 42. Merci Des questions ? Talks : http://joind.in/event/view/2504 Slideshare : http://www.slideshare.net/mikaelkael 42 © All rights reserved. Zend Technologies, Inc.
  • 43. Formation Zend Framework Zend Framework : concepts avancés Ce cours est conçu pour apprendre aux développeurs PHP qui travaillent déjà avec le Zend Framework comment appliquer les bonnes pratiques lorsqu’ils construisent et configurent leurs applications que ce soit pour la scalabilité, l’interactivité ou les hautes performances. http://www.zend.com/en/services/training/course-catalog/zend-framework-advanced Sujets abordés • Présentation et approfondissement des concepts de base (incluant le design pattern MVC, Zend_Db, Zend_Form, les plug-ins) • Développement et test (incluant Zend_Application, Zend_Tool, Zend_Test) • Rich Internet Applications (incluant Zend_Dojo, Zend_Soap_Server) • Les systèmes interactifs (incluant Zend_Mail, Zend_Feed, l'internationalisation, Zend_Pdf, Zend_Search_Lucene) • Systèmes gérant la scalabilité, la fléxibilité et les hautes performances (incluant Zend_Cache, les modules MVC, Zend_Navigation, Zend_Queue) Prochains cours :  Du 4 au 6 avril  Du 20 au 22 juin © All rights reserved. Zend Technologies, Inc.