The Cookbook for Symfony 2.4

Dimension: px
Commencer à balayer dès la page:

Download "The Cookbook for Symfony 2.4"

Transcription

1 The Cookbook for Symfony. generated on November, 0

2 The Cookbook (.) This work is licensed under the Attribution-Share Alike.0 Unported license (http://creativecommons.org/ licenses/by-sa/.0/). You are free to share (to copy, distribute and transmit the work), and to remix (to adapt the work) under the following conditions: Attribution: You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike: If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license. For any reuse or distribution, you must make clear to others the license terms of this work. The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor SensioLabs shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. If you find typos or errors, feel free to report them by creating a ticket on the Symfony ticketing system (http://github.com/symfony/symfony-docs/issues). Based on tickets and users feedback, this book is continuously updated.

3 Contents at a Glance Comment utiliser Assetic pour gérer vos ressources... Comment minifier les JavaScripts et les feuilles de style avec YUI Compressor... Comment utiliser Assetic et les fonctions Twig pour optimiser les images... Comment appliquer un filtre Assetic à une extension de fichier spécifique... Comment utiliser les bonnes pratiques pour structurer vos Bundles... Comment utiliser l'héritage de bundle pour surcharger certaines parties d'un bundle... Comment surcharger n'importe quelle partie d'un bundle... Comment supprimer le AcmeDemoBundle... Comment exposer une configuration sémantique pour un Bundle... Comment utiliser Varnish pour accélérer mon site Web... Comment Maîtriser et Créer de nouveaux Environnements... Comment surcharger la structure de répertoires par défaut de Symfony... Comment configurer les paramètres externes dans le conteneur de services... Comment stocker les sessions dans la base de données grâce à PdoSessionStorage... Comment utiliser le routeur Apache... Comment créer une commande pour la Console...0 Comment utiliser la Console... Comment générer des URLs et envoyer des s depuis la Console... Comment activer les logs dans la commande console... Comment personnaliser les pages d'erreur... Comment définir des contrôleurs en tant que Services... Comment optimiser votre environnement pour le debuggage... Déployer une application Symfony... Comment gérer les uploads de fichier avec Doctrine... Comment utiliser les extensions Doctrine: Timestampable, Sluggable, Translatable, etc... Comment enregistrer des listeners («écouteurs» en français) et des souscripteurs d'évènement...0 Comment utiliser la couche DBAL de Doctrine... Comment générer des Entités à partir d'une base de données existante... Comment travailler avec plusieurs gestionnaires d'entités et connexions... Comment définir des fonctions DQL personnalisées... 0 Comment définir des Relations avec des Classes Abstraites et des Interfaces... 0 Comment implémenter un simple formulaire de création de compte... 0 Comment envoyer un ... Comment utiliser Gmail pour envoyer des s... Comment travailler avec les s pendant le Développement... Comment utiliser le «Spool» d' ... generated on November, 0 Contents at a Glance iii

4 Comment mettre en place des filtres avant et après un processus donné... Comment étendre une Classe sans utiliser l'héritage... Comment personnaliser le Comportement d'une Méthode sans utiliser l'héritage... Comment personnaliser le rendu de formulaire... Comment utiliser les Convertisseurs de Données... 0 Comment modifier dynamiquement les formulaires en utilisant les évènements... Comment imbriquer une Collection de Formulaires... Comment Créer un Type de Champ de Formulaire Personnalisé... Comment créer une extension de type de formulaire... Comment réduire la duplication de code avec "inherit_data"... 0 Comment tester unitairement vos formulaires... Comment configurer des données vierges pour une classe de Formulaire... Comment utiliser la fonction submit() pour gérer les soumissions de formulaires... 0 Comment utiliser l'option de Champ de Formulaire Virtual... Comment utiliser Monolog pour écrire des Logs... Comment configurer Monolog pour envoyer les erreurs par Comment loguer des messages dans différents fichiers... 0 Comment créer un Collecteur de Données personnalisé... 0 Comment déclarer un nouveau Format de Requête et un Type Mime... 0 Comment forcer les routes à toujours utiliser HTTPS ou HTTP... 0 Comment autoriser un caractère «/» dans un paramètre de route... Comment configurer une redirection vers une autre route sans contrôleur personnalisé... Comment utiliser des méthodes HTTP autres que GET et POST dans les routes... Comment utiliser des paramètres du conteneur de services dans vos routes... Comment charger les utilisateurs depuis la base de données (le fournisseur d'entité)... Comment ajouter la fonctionnalité de login «Se souvenir de moi»... Comment implémenter votre propre Voteur pour ajouter des adresses IP sur une liste noire... 0 Comment utiliser les Access Control Lists (ACLs) («liste de contrôle d'accès» en français)... Comment utiliser les concepts d'acl avancés... Comment forcer HTTPS ou HTTP pour des URLs Différentes... Comment personnaliser votre formulaire de login... Comment sécuriser n'importe quel service ou méthode de votre application... Comment créer un Fournisseur d'utilisateur personnalisé... 0 Comment créer un Fournisseur d'authentification Personnalisé... Comment changer le comportement par défaut du chemin cible... Comment utiliser le Serializer... Comment créer un «listener» («écouteur» en français) d'évènement... Comment travailler avec les champs d'applications («scopes» en anglais)... Comment travailler avec les Passes de Compilation dans les Bundles... Exemple de Session Proxy... Faire que la Locale soit "persistente" durant la session de l'utilisateur... Configurer le Dossier où les Fichiers pour les Sessions sont Enregistrés... 0 Combler une application legacy avec les sessions de Symfony... Limiter les Écritures de Metadonnées en Session... En quoi Symfony diffère de Symfony... Comment injecter des variables dans tous les modèles (i.e. Variables Globales)... Comment utiliser et enregistrer des chemins Twig namespacés... iv Contents at a Glance Contents at a Glance

5 Comment utiliser PHP plutôt que Twig dans les templates... Comment écrire une Extension Twig personnalisée... 0 Comment rendre un template sans passer par un contrôleur... 0 Comment simuler une authentification HTTP dans un Test Fonctionnel... 0 Comment simuler une authentification avec un token dans un test fonctionnel... 0 Comment tester les interactions de multiples clients... 0 Comment utiliser le Profiler dans un test fonctionnel... Comment tester du code interagissant avec une base de données... Comment tester les dépôts Doctrine... Comment personnaliser le processus de bootstrap avant les tests... Comment créer une Contrainte de Validation Personnalisée... 0 Comment créer des web services SOAP à l'intérieur d'un contrôleur Symfony... Comment créer et stocker un projet Symfony dans git... Comment créer et stocker un projet Symfony dans Subversion... generated on November, 0 Contents at a Glance v

6 Chapter Comment utiliser Assetic pour gérer vos ressources Assetic associe deux concepts majeurs : les ressources et les filtres. Les ressources sont des fichiers comme les feuilles de style, les JavaScript et les images. Les filtres peuvent être appliqués à ces fichiers avant qu'ils ne soient servis au navigateur. Cela permet de gérer séparément les fichiers ressources qui sont stockés par l'application des fichiers qui sont réellement présentés à l'utilisateur. Sans Assetic, vous servez directement les fichiers qui sont stockés dans votre application : Listing - <script src=" asset('js/script.js') " type="text/javascript" /> Mais avec Assetic, vous pouvez manipuler ces ressources de la manière dont vous le désirez (ou les charger de n'importe où) avant de les servir. Cela signifie que vous pouvez : Minifier et combiner toutes vos CSS ou vos fichiers JavaScript Exécuter tous (ou juste une partie) vos fichiers CSS ou JS en passant par des compilateurs comme LESS, SASS ou CoffeeScript. Optimiser vos images Ressources Utiliser Assetic plutôt que servir les fichiers directement offre de nombreux avantages. Les fichiers n'ont pas besoin d'être stockés là où il seront servis, et peuvent provenir de plusieurs sources, notamment d'un bundle. Vous pouvez utiliser Assetic pour vos fichiers CSS ou Javascript Le principe est identique entre les deux à l'exception d'une syntaxe qui différe légèrement. Inclure des fichiers Javascript Pour inclure des fichiers Javascript, utilisez le tag javascripts dans n'importe quel template. On va en général s'en servir dans le block javascripts, si vous utilisez les noms de block par défaut de la Distribution Standard de Symfony : generated on November, 0 Chapter : Comment utiliser Assetic pour gérer vos ressources

7 Listing - % javascripts % <script type="text/javascript" src=" asset_url "></script> % endjavascripts % Vous pouvez aussi inclure vos feuilles de style: voir Inclure des fichiers CSS. Dans cet exemple, tous les fichiers du dossier Resources/public/js/ du bundle AcmeFooBundle vont être chargés et servis depuis un autre endroit. Le tag réellement affiché pourrait ressembler à: Listing - <script src="/app_dev.php/js/abcd.js"></script> C'est un point clé: Une fois que vous avez laissé Assetic gérer vos ressources, les fichiers sont servis depuis un autre endroit. Ceci pourra provoquer des problèmes pour les fichiers CSS contenant des chemins relatifs pour leurs images. Voir Corriger les chemins CSS avec le filtre cssrewrite. Inclure des fichiers CSS Pour vos feuilles de styles CSS, vous pouvez utiliser la même méthodologie mais avec le tag stylesheets. Si vous utilisez les block par défaut de la Distribution Standard, ce tag prendra place dans un block stylesheets : Listing - % stylesheets 'bundles/acme_foo/css/*' filter='cssrewrite' % <link rel="stylesheet" href=" asset_url " /> % endstylesheets % Mais comme Assetic modifie les chemins de vos ressources, les images de fond (ou autres) qui utilisent des chemins relatifs se retrouveront cassés, sauf si vous utilisez le filtre cssrewrite. Remarquez que dans le premier exemple qui inclut les fichiers javascripts, vous faites référence aux fichiers avec un chemin comme suit mais dans celui-ci, vous faites référence aux fichiers CSS avec leur vrai chemin public : bundles/acme_foo/ css. Vous pouvez utiliser l'un ou l'autre. Sachez juste qu'il existe un problème connu qui peut faire échouer le filtre cssrewrite avec la Corriger les chemins CSS avec le filtre cssrewrite Vu que Assetic génère de nouvelles URLs pour vos ressource, tous les chemins relatifs dans vos fichiers CSS vont être cassés. Pour corriger ça, assurez-vous d'utiliser le filtre cssrewrite avec votre tag stylesheets. Il va parser votre CSS et corriger les chemins pour prendre en compte le nouvel emplacement. Vous pouvez voir un exemple dans la section précédente : Quand vous utilisez le filtre cssrewrite, ne faites pas à appel à vos CSS avec la Pour plus de détails, voir la note dans la section du dessus. generated on November, 0 Chapter : Comment utiliser Assetic pour gérer vos ressources

8 Combiner des ressources Vous pouvez aussi combiner plusieurs fichiers en un seul. Cela aide à réduire le nombre de requêtes HTTP, ce qui est très important pour les performances. Cela vous permet aussi de maintenir les fichiers plus facilement en les découpants en petites parties plus faciles à gérer. Cela peut être un plus pour la réusabilité de votre projet puisque vous pouvez facilement séparer les fichiers spécifiques au projet des fichiers qui peuvent être réutilisés dans d'autres applications, mais toujours les servir comme un fichier unique : Listing - % javascripts % <script src=" asset_url "></script> % endjavascripts % En environnement de dev, chaque fichier est toujours servi individuellement pour que vous puissiez débugguer plus facilement. Cependant, en environnement de prod (ou plus précisément, quand l'option debug est à false), ils seront affichés dans une unique balise script qui contiendra le contenu de tous vos fichiers JavaScript. Si vous découvrez Assetic et essayez d'utiliser votre application en environnement de prod (en utilisant le contrôleur app.php), vous verrez probablement que vos CSS et JS plantent. Pas de panique! C'est fait exprès. Pour plus de détails sur l'utilisation d'assetic en environnement de prod, lisez Exporter les ressources. Et combiner les fichiers ne s'applique pas uniquement à vos fichiers. Vous pouvez aussi utiliser Assetic pour combiner les ressources tierces, comme jquery, à vos fichiers dans un fichier unique : Listing - % javascripts % <script src=" asset_url "></script> % endjavascripts % Filtres Une fois qu'elles sont gérées par Assetic, vous pouvez appliquer des filtres à vos ressources avant qu'elles ne soient servies. Cela inclut les filtres qui compressent vos ressources pour réduire la taille des fichiers (pour de meilleures performances). D'autres filtres peuvent compiler des fichiers CoffeeScript en JavaScript ou convertir vos fichiers SASS en CSS. En fait, Assetic possède une longue liste de filtres disponibles. Plusieurs de ces filtres ne font pas le travail directement, mais utilisent des bibliothèques tierces pour faire le gros du travail. Cela signifie que vous devrez souvent installer une bibliothèque tierce pour utiliser un filtre. Le grand avantage d'utiliser Assetic pour faire appel à ces bibliothèques (plutôt que de les utiliser directement) est qu'au lieu de les exécuter à la main après avoir modifié les fichiers, Assetic prendra tout en charge pour vous, et supprimera définitivement cette étape du processus de développement et de déploiement. Pour utiliser un filtre, vous aurez d'abord besoin de le spécifier dans la configuration d'assetic. Ajouter un filtre dans la configuration ne signifie pas qu'il est utilisé, mais juste qu'il est prêt à l'être (vous allez l'utiliser ci-dessous). Par exemple, pour utiliser le JavaScript YUI Compressor, la configuration suivante doit être ajoutée : generated on November, 0 Chapter : Comment utiliser Assetic pour gérer vos ressources

9 Listing - # app/config/config.yml assetic: filters: yui_js: jar: "%kernel.root_dir%/resources/java/yuicompressor.jar" Maintenant, pour vraiment utiliser le filtre sur un groupe de fichiers JavaScript, ajoutez ce code dans votre template : Listing - % javascripts filter='yui_js' % <script src=" asset_url "></script> % endjavascripts % Vous pouvez trouver un guide plus détaillé sur la configuration et l'utilisation des filtres Assetic ainsi que des informations sur le mode debug d'assetic en lisant Comment minifier les JavaScripts et les feuilles de style avec YUI Compressor. Contrôler l'url utilisée Si vous le souhaitez, vous pouvez contrôler les URLs générées par Assetic. Cela se fait dans le template, et le chemin est relatif par rapport à la racine publique : Listing - % javascripts output='js/compiled/main.js' % <script src=" asset_url "></script> % endjavascripts % Symfony contient également une méthode pour le cache busting (technique empêchant la mise en cache), où l'url générée par Assetic contient un paramètre qui peut être incrémenté, via la configuration, à chaque déploiement. Pour plus d'informations, lisez l'option de configuration assets_version. Exporter les ressources En environnement de dev, Assetic génère des chemins vers des fichiers CSS et JavaScript qui n'existent pas physiquement sur votre ordinateur. Mais ils sont néanmoins affichés car un contrôleur interne de Symfony ouvre les fichiers et sert leur contenu (après avoir exécuté tous les filtres). Cette manière dynamique de servir des ressources traitées est géniale car cela signifie que vous pouvez immédiatement voir les modifications que vous apportez à vos fichiers. Mais l'inconvénient est que cela peut parfois être un peu lent. Si vous utilisez beaucoup de filtres, cela peut être carrément frustrant. Heureusement, Assetic fournit un moyen pour exporter vos ressources vers des fichiers réels au lieu de les générer dynamiquement. Exporter les ressources en environnement de prod En environnement de prod, vos fichiers JS et CSS sont représentés chacun par une balise unique. En d'autres termes, plutôt que de voir chacun des fichiers JavaScript que vous incluez dans votre code source, vous verrez quelque chose comme ceci : Listing -0 generated on November, 0 Chapter : Comment utiliser Assetic pour gérer vos ressources

10 <script src="/app_dev.php/js/abcd.js"></script> De plus, ce fichier n'existe pas vraiment et n'est pas non plus affiché dynamiquement par Symfony (car les ressources sont en environnement de dev). C'est fait exprès : laisser Symfony générer ces fichiers dynamiquement en production serait tout simplement trop lent. Au lieu de cela, chaque fois que vous exécutez votre application dans l'environnement de prod (et par conséquent, chaque fois que vous déployez), vous devriez exécuter la commande suivante : Listing - $ php app/console assetic:dump --env=prod --no-debug Cela génèrera et écrira physiquement chaque fichier dont vous avez besoin (ex /js/abcd.js). Si vous mettez à jour vos ressources, vous aurez besoin de relancer cette commande pour regénérer vos fichiers. Exporter les ressources en environnement de dev Par défaut, chaque chemin de ressource généré en environnement de dev est pris en charge dynamiquement par Symfony. Cela n'a pas d'inconvénient (vous pouvez voir vos changements immédiatement), sauf que les ressources peuvent être lentes à charger. Si vous trouvez que vos ressources sont chargés trop lentement, suivez ce guide. Premièrement, dites à Symfony de ne plus essayer de traiter ces fichiers dynamiquement. Apportez les modifications suivantes dans le fichier config_dev.yml : Listing - # app/config/config_dev.yml assetic: use_controller: false Ensuite, puisque Symfony ne génère plus ces fichiers pour vous, vous aurez besoin de les exporter manuellement. Pour ce faire, lancez la commande suivante : Listing - $ php app/console assetic:dump Elle écrit physiquement tous les fichiers de ressource dont vous avez besoin pour l'environnement de dev. Le gros inconvénient est que vous devrez faire cela chaque fois que vous modifiez une ressource. Heureusement, en passant l'option --watch, la commande regénèrera automatiquement les ressources modifiées : Listing - $ php app/console assetic:dump --watch Lancer cette commande en environnement de dev peut générer un florilège de fichiers. Pour conserver votre projet bien organisé, il peut être intéressant de mettre les fichiers générés dans un répertoire séparé (ex /js/compiled) : Listing - % javascripts output='js/compiled/main.js' % <script src=" asset_url "></script> % endjavascripts % generated on November, 0 Chapter : Comment utiliser Assetic pour gérer vos ressources 0

11 Chapter Comment minifier les JavaScripts et les feuilles de style avec YUI Compressor Yahoo! fournit un excellent utilitaire pour minifier les JavaScripts et les feuilles de style pour qu'elles soient plus rapides à charger, YUI Compressor. Grâce à Assetic, vous pourrez tirer profit de cet outil très facilement. Téléchargez le JAR YUI Compressor YUI Compressor est écrit en Java est distribué sous forme de JAR. Téléchargez le JAR sur le site de Yahoo! et enregistrez le sous app/resources/java/yuicompressor.jar. Configurez les filtres YUI Maintenant vous devez configurer les deux filtres Assetic dans votre application, l'un pour minifier les JavaScripts avec YUI Compressor et l'autre pour minifier les feuilles de style : Listing - # app/config/config.yml assetic: # java: "/usr/bin/java" filters: yui_css: jar: "%kernel.root_dir%/resources/java/yuicompressor.jar" yui_js: jar: "%kernel.root_dir%/resources/java/yuicompressor.jar". generated on November, 0 Chapter : Comment minifier les JavaScripts et les feuilles de style avec YUI Compressor

12 Les utilisateurs de Windows ne doivent pas oublier de mettre à jour l'emplacement de Java. Dans Windows x bit, il s'agit de C:\Program Files (x)\java\jre\bin\java.exe par défaut Vous avez maintenant accès aux deux nouveaux filtres Assetic dans votre application : yui_css et yui_js. Ils utiliseront YUI Compressor pour minifier respectivement les feuilles de style et les JavaScripts. Minifiez vos Ressources Maintenant YUI Compressor est configuré, mais rien ne se passera tant que vous n'appliquez pas ces filtres à une ressource (asset). Puisque vos ressources font partie de la couche Vue, ce travail doit être fait dans vos templates : Listing - % javascripts filter='yui_js' % <script src=" asset_url "></script> % endjavascripts % L'exemple ci-dessus part du principe que vous avez un bundle appelé AcmeFooBundle et que vos fichiers JavaScript se trouvent dans le répertoire Resources/public/js dans votre bundle. Ce n'est, en fait, pas très important car vous pouvez inclure vos fichiers JavaScript où vous le voulez. En rajoutant le filtre yui_js à la ressource ci-dessus, vous devriez voir que les JavaScripts minifiés sont chargés beaucoup plus rapidement. Le même procédé peut être utilisé pour minifier vos feuilles de style. Listing - % stylesheets filter='yui_css' % <link rel="stylesheet" type="text/css" media="screen" href=" asset_url " /> % endstylesheets % Désactiver la minification en Mode Debug Les JavaScripts et feuilles de styles minifiés sont très difficiles à lire; et encore moins à débugguer. Pour palier cela, Assetic vous permet de désactiver un filtre lorsque votre application est en mode debug. Vous pouvez faire cela en préfixant le nom du filtre dans votre template par un point d'interrogation :?. Cela indique à Assetic de n'appliquer les filtres que si le mode debug n'est pas actif. Listing - % javascripts filter='?yui_js' % <script src=" asset_url "></script> % endjavascripts % Plutôt que d'ajouter le filtre à vos balises assets, vous pouvez aussi l'activer de façon globale en ajoutant l'attribut apply-to à la configuration du filtre, par exemple apply_to: "\.js$" pour le filtre yui_js. Pour que le filtre ne s'applique qu'en production, ajoutez le au fichier config_prod au lieu du fichier de configuration commun. Pour plus de détails sur comment appliquer des filtres en fonction des extensions de fichiers, lisez Filtrer en se basant sur les extensions. generated on November, 0 Chapter : Comment minifier les JavaScripts et les feuilles de style avec YUI Compressor

13 Chapter Comment utiliser Assetic et les fonctions Twig pour optimiser les images Parmi ses nombreux filtres, Assetic possède quatre filtres qui peuvent être utilisés pour optimiser les images à la volée. Cela vous permet de tirer profit de tailles de fichiers réduites sans utiliser d'éditeur d'image pour réduire chaque image. Les résultats sont mis en cache et peuvent être réutilisés en production pour qu'il n'y ait pas d'impact sur les performances pour vos utilisateurs finaux. Utiliser Jpegoptim Jpegoptim est un utilitaire pour optimiser les fichiers JPEG. Pour l'utiliser avec Assetic, ajoutez le bout de code suivant à votre configuration Assetic : Listing - # app/config/config.yml assetic: filters: jpegoptim: bin: path/to/jpegoptim Notez que pour utiliser jpegoptim, il faut qu'il soit déjà installé sur votre système. L'option bin pointe vers le fichier binaire compilé. Il peut maintenant être utilisé dans un template : Listing - % image filter='jpegoptim' output='/images/example.jpg' % <img src=" asset_url " alt="example"/> % endimage %. generated on November, 0 Chapter : Comment utiliser Assetic et les fonctions Twig pour optimiser les images

14 Supprimer toutes les données EXIF Par défaut, appliquer ce filtre ne supprime que certaines meta-informations du fichier. Les données EXIF et les commentaires ne sont pas supprimés, mais vous pouvez les supprimer en utilisant l'option strip_all : Listing - # app/config/config.yml assetic: filters: jpegoptim: bin: path/to/jpegoptim strip_all: true Réduire la qualité maximum Le niveau de qualité du JPEG n'est pas modifié par défaut. Vous pouvez réduire un peu la taille des images en définissant un niveau de qualité maximum plus bas que le niveau actuel. Cela se fera évidemment au détriment de la qualité de l'image : Listing - # app/config/config.yml assetic: filters: jpegoptim: bin: path/to/jpegoptim max: 0 Fonctions Twig : syntaxe courte Si vous utilisez Twig, il est possible de faire tout ceci avec une syntaxe raccourcie en activant et en utilisant une fonction spéciale Twig. Commencez par ajouter la configuration suivante : Listing - # app/config/config.yml assetic: filters: jpegoptim: bin: path/to/jpegoptim twig: functions: jpegoptim: ~ Le template Twig peut maintenant être modifié comme suit : Listing - <img src=" " alt="example"/> Vous pouvez spécifier le répertoire cible dans la configuration de la manière suivante : Listing - # app/config/config.yml assetic: filters: jpegoptim: bin: path/to/jpegoptim twig: generated on November, 0 Chapter : Comment utiliser Assetic et les fonctions Twig pour optimiser les images

15 functions: jpegoptim: output: images/*.jpg generated on November, 0 Chapter : Comment utiliser Assetic et les fonctions Twig pour optimiser les images

16 Chapter Comment appliquer un filtre Assetic à une extension de fichier spécifique Les filtres Assetic peuvent être appliqués à des fichiers individuels, à des groupes de fichiers ou même, comme vous allez le voir ici, à des fichiers qui ont une extension spécifique. Pour vous montrer comment gérer chaque cas, supposons que vous ayez le filtre Assetic CoffeeScript qui compile les fichiers CoffeeScript en JavaScript. La configuration principale contient juste les chemins vers coffee et node. Leurs valeurs par défaut respectives sont /usr/bin/coffee et /usr/bin/node: Listing - # app/config/config.yml assetic: filters: coffee: bin: /usr/bin/coffee node: /usr/bin/node Filtrer un fichier unique Vous pouvez maintenant compiler un fichier unique CoffeeScript en JavaScript depuis vos templates : Listing - % javascripts filter='coffee' % <script src=" asset_url " type="text/javascript"></script> % endjavascripts % C'est tout ce dont vous avez besoin pour compiler ce fichier CoffeeScript et le servir comme JavaScript compilé. generated on November, 0 Chapter : Comment appliquer un filtre Assetic à une extension de fichier spécifique

17 Filtrer des fichiers multiples Vous pouvez aussi combiner plusieurs fichiers CoffeeScript en un unique fichier en sortie : Listing - % javascripts filter='coffee' % <script src=" asset_url " type="text/javascript"></script> % endjavascripts % Les deux fichiers seront maintenant servis comme un unique fichier compilé en JavaScript. Filtrer en se basant sur les extensions Un des plus grands avantages d'assetic est de pouvoir réduire le nombre de ressources pour réduire le nombre de requêtes HTTP. Dans le but d'en tirer le plus grand avantage possible, il pourrait être intéressant de combiner tous vos fichiers CoffeeScript et JavaScript ensembles puisqu'ils seront finalement délivrés comme JavaScript. Malheureusement, se contenter d'ajouter les fichiers JavaScript aux fichiers à combiner ne fonctionnera pas car le JavaScript ne passera pas la compilation CoffeeScript. Ce problème peut être évité en ajoutant l'option apply_to à la configuration, ce qui vous permettra de spécifier qu'un filtre devra toujours être appliqué à une extension de fichier particulière. Dans ce cas, vous pouvez spécifier que le filtre Coffee s'applique à tous les fichiers.coffee : Listing - # app/config/config.yml assetic: filters: coffee: bin: /usr/bin/coffee node: /usr/bin/node apply_to: "\.coffee$" Avec cela, vous n'avez plus besoin de spécifier le filtre coffee dans le template. Vous pouvez aussi lister les fichiers JavaScript classique, chacun d'eux sera combiné et délivré en un unique fichier JavaScript (seuls les fichiers.coffee passeront à travers le filtre CoffeeScript) : Listing - % javascripts % <script src=" asset_url " type="text/javascript"></script> % endjavascripts % generated on November, 0 Chapter : Comment appliquer un filtre Assetic à une extension de fichier spécifique

18 Chapter Comment utiliser les bonnes pratiques pour structurer vos Bundles Un bundle est un répertoire qui a une structure bien définie et qui peut héberger à peu près tout : des classes aux contrôleurs en passant par les ressources web. Même si les bundles sont très flexibles, vous devriez suivre quelques unes des bonnes pratiques si vous voulez les distribuer. Nom du Bundle Un bundle est aussi un espace de noms PHP. Ce dernier doit suivre les standards d'intéropérabilité technique pour les espaces de noms PHP. et les noms de classes : il commence par un segment «vendor», suivi par zéro ou plusieurs segments catégories, et il se termine par le nom raccourci de l'espace de noms, qui doit finir par un suffixe Bundle. Un espace de noms devient un bundle aussitôt que vous lui ajoutez une classe bundle. Le nom de la classe bundle doit suivre ces règles simples : Utiliser uniquement des caractères alphanumériques et des tirets bas («underscore» en anglais) ; Utiliser un nom en notation dite «CamelCase» ; Utiliser un nom court et descriptif (pas plus de mots) ; Préfixer le nom avec la concaténation du «vendor» (et optionnellement l'espace de noms de la catégorie) ; Suffixer le nom avec Bundle. Vous trouverez ci-dessous des espaces de noms de bundle et des noms de classes valides : Espace de noms Acme\Bundle\BlogBundle Acme\Bundle\Social\BlogBundle Nom de la Classe Bundle AcmeBlogBundle AcmeSocialBlogBundle. generated on November, 0 Chapter : Comment utiliser les bonnes pratiques pour structurer vos Bundles

19 Espace de noms Acme\BlogBundle Nom de la Classe Bundle AcmeBlogBundle Par convention, la méthode getname() de la classe bundle devrait retourner le nom de la classe. Si vous partagez publiquement votre bundle, vous devez utiliser le nom de la classe bundle comme nom de dépôt (AcmeBlogBundle et non pas BlogBundle par exemple). Les Bundles du coeur de Symfony ne préfixent pas la classe Bundle avec Symfony et ajoutent toujours un sous-espace de noms Bundle ; par exemple : FrameworkBundle. Chaque bundle possède un alias, qui est la version raccourcie en miniscules du nom du bundle en utilisant des tirets bas (acme_hello pour AcmeHelloBundle, ou acme_social_blog pour Acme\Social\BlogBundle par exemple). Cet alias est utilisé pour renforcer l'unicité à l'intérieur d'un bundle (voir ci-dessous pour des exemples d'utilisation). Structure de Répertoires La structure basique du répertoire d'un bundle HelloBundle doit être comme suit : Listing - 0 XXX/... HelloBundle/ HelloBundle.php Controller/ Resources/ meta/ LICENSE config/ doc/ index.rst translations/ views/ public/ Tests/ Le(s) répertoire(s) XXX reflète(nt) la structure de l'espace de noms du bundle. Les fichiers suivants sont obligatoires : HelloBundle.php ; Resources/meta/LICENSE: La licence complète pour le code ; Resources/doc/index.rst: Le fichier racine pour la documentation du bundle. Ces conventions assurent que les outils automatisés puissent compter sur cette structure par défaut pour travailler.. generated on November, 0 Chapter : Comment utiliser les bonnes pratiques pour structurer vos Bundles

20 La profondeur des sous-répertoires devrait être réduite au minimum pour les classes et fichiers les plus utilisés ( niveaux au maximum). Plus de niveaux peuvent être définis pour les fichiers non-stratégiques et moins utilisés. Le répertoire du bundle est en lecture seule. Si vous avez besoin d'écrire des fichiers temporaires, stockezles dans le dossier cache/ ou log/ de l'application hébergeant votre bundle. Des outils peuvent générer des fichiers dans la structure du répertoire du bundle, mais uniquement si les fichiers générés vont faire partie du dépôt. Les classes et fichiers suivants ont des emplacements spécifiques : Type Commandes Contrôleurs Extensions du Conteneur de Services Listeners d'évènements Configuration Ressources Web Fichiers de traduction Templates Tests Unitaires et Fonctionnels Répertoire Command/ Controller/ DependencyInjection/ EventListener/ Resources/config/ Resources/public/ Resources/translations/ Resources/views/ Tests/ Classes La structure du répertoire du bundle est utilisée en tant que hiérarchie d'espace de noms. Par exemple, un contrôleur HelloController est stocké dans Bundle/HelloBundle/Controller/HelloController.php et le nom complet qualifié de la classe est Bundle\HelloBundle\Controller\HelloController. Tous les fichiers et classes doivent suivre les standards de codage de Symfony («coding standards» en anglais). Certaines classes devraient être vues comme des façades et donc être aussi courtes que possible, comme les «Commands», «Helpers», «Listeners» et «Controllers». Les classes se connectant au dispatcher («répartiteur» en français) d'évènements devraient être suffixées avec Listener. Les classes d'exceptions devraient être stockées dans un sous-espace de noms Exception. Vendors Un bundle ne doit pas embarquer de bibliothèques PHP tierces. Il devrait compter sur le chargement automatique («autoloading» en anglais) standard de Symfony à la place. Un bundle ne devrait pas embarquer de bibliothèques tierces écrites en JavaScript, CSS, ou quelconque autre langage. generated on November, 0 Chapter : Comment utiliser les bonnes pratiques pour structurer vos Bundles 0

The Cookbook Version: 2.3

The Cookbook Version: 2.3 The Cookbook Version:. generated on September, 0 The Cookbook (.) This work is licensed under the Attribution-Share Alike.0 Unported license (http://creativecommons.org/ licenses/by-sa/.0/). You are free

Plus en détail

The Cookbook for Symfony 2.1

The Cookbook for Symfony 2.1 The Cookbook for Symfony. generated on November, 0 The Cookbook (.) This work is licensed under the Attribution-Share Alike.0 Unported license (http://creativecommons.org/ licenses/by-sa/.0/). You are

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Le framework Symfony2

Le framework Symfony2 Le framework Symfony2 Historique et définition Framework: cadre de travail Objectif: améliorer la productivité des développeurs (se concentrer sur les choses importantes), structurer l application, accélère

Plus en détail

Manuel d'utilisateur et de référence

Manuel d'utilisateur et de référence Manuel d'utilisateur et de référence MobileTogether Client Manuel d'utilisateur et de référence All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic,

Plus en détail

Manuel d'utilisateur et de référence

Manuel d'utilisateur et de référence Manuel d'utilisateur et de référence Manuel d'utilisateur et de référence All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical,

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

Développer de nouvelles fonctionnalités

Développer de nouvelles fonctionnalités 19 Développer de nouvelles fonctionnalités Chaque site e-commerce est unique. Bien que Magento soit une application riche, des besoins spécifiques apparaîtront et l ajout de modules deviendra nécessaire.

Plus en détail

Premiers pas avec Symfony. Tony Dubreil Niji 22 mai 2014

Premiers pas avec Symfony. Tony Dubreil Niji 22 mai 2014 Premiers pas avec Symfony Tony Dubreil Niji 22 mai 2014 Speaker Tony Dubreil Architecte logiciel Web chez Niji @tonydbrl github.com/tonydub Niji Des compétences pluridisciplinaires pour vous aider à prendre

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

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

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

W3b-D4shB0ard documentation v0.1b.

W3b-D4shB0ard documentation v0.1b. W3b-D4shB0ard documentation v0.1b. Sommaire W3b-D4shB0ard documentation v0.1b...1 Informations relatives au projet...2 Description...2 License...2 Disclaimer...2 Requirements...2 Installation...3 Installation

Plus en détail

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010)

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Par LoiselJP Le 01/05/2013 1 Objectifs Ce document décrit le plus succinctement possible une manière, parmi d'autres, d installer

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

Ezpublish Création d'un design

Ezpublish Création d'un design Ezpublish Création d'un design Transfert de compétence 17,18,19 octobre 2011 17/10/2011 Szsic Rennes - Dominique Seven 1 Rappel des objectifs Pouvoir créer un nouveau design pour un site ezpublish. Comprendre

Plus en détail

Zend Framework 2 Développez des applications web mobiles (PHP, HTML5, JavaScript, NoSQL)

Zend Framework 2 Développez des applications web mobiles (PHP, HTML5, JavaScript, NoSQL) Avant-propos 1. À qui s adresse ce livre? 13 2. Comment cet ouvrage est-il structuré? 15 Premiers pas avec Zend 1. Objectif 19 2. Quoi de neuf chez Zend? 20 2.1 Zend Framework 2 20 2.2 Les nouveaux composants

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

The Quick Tour Version: 2.7

The Quick Tour Version: 2.7 The Quick Tour Version:. generated on September, 0 What could be better to make up your own mind than to try out Symfony yourself? Aside from a little time, it will cost you nothing. Step by step you will

Plus en détail

Symfony2 Développez des sites web PHP structurés et performants

Symfony2 Développez des sites web PHP structurés et performants Avant-propos 1. Introduction 21 2. Public visé 22 3. Pourquoi un framework? 22 3.1 header() et echo 23 3.2 Éviter la globalité 23 3.3 Ne pas réinventer la roue 24 4. Pourquoi Symfony? 24 5. Pré-requis

Plus en détail

Chaker ALLAOUI chaker.allaoui@gmail.com WEBSERVICE API REST SYMFONY 2

Chaker ALLAOUI chaker.allaoui@gmail.com WEBSERVICE API REST SYMFONY 2 Chaker ALLAOUI chaker.allaoui@gmail.com WEBSERVICE API REST SYMFONY 2 TABLE DES MATIERES Contenu Présentation 1 Technologies 2 Installation des bundles 3 Configuration des bundles 4 Configuration de Symfony

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

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

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

Authentification CAS : module apache V2 mod_cas

Authentification CAS : module apache V2 mod_cas Page 1 of 8 Authentification CAS : module apache V2 mod_cas Ce document décrit l'installation et le paramétrage du module mod_cas esup-portail pour apache V2. Vincent Mathieu Université Nancy 2 Dates de

Plus en détail

DEVELOPPEMENT LOGICIEL

DEVELOPPEMENT LOGICIEL DEVELOPPEMENT LOGICIEL LE FRAMEWORK WEB RUBY ON RAIL REF : WELA010 DUREE : 4 JOURS TARIF : 2 060 HT Public Développeurs d applications web, Chefs de projet techniques, Architectes. Pré-requis Programmation

Plus en détail

Comment développer et intégrer un module à PhpMyLab?

Comment développer et intégrer un module à PhpMyLab? Comment développer et intégrer un module à PhpMyLab? La structure du fichier Afin de conserver une homogénéité et une cohérence entre chaque module, une structure commune est utilisée pour chacun des modules

Plus en détail

Documentation de CMS-gen

Documentation de CMS-gen Table des matières GÉNÉRALITÉ... 1 LA ZONE D'ADMINISTRATION... 2 LOGIN SUR LA ZONE D ADMINISTRATION... 2 EDITION DU CONTENU EN LIGNE... 3 LE MODE EDITION... 3 PUBLICATION... 3 SUPPRIMER DES MODIFICATIONS...

Plus en détail

TrashMagic 2. Manuel d'utilisation

TrashMagic 2. Manuel d'utilisation TrashMagic 2 Manuel d'utilisation Droits d auteur Ce logiciel est Copyright 2010 TED et TRI-EDRE. Ce manuel et le logiciel qu il décrit sont protégés par le droit d auteur. L utilisation de tout ou partie

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

FileMaker Server 11. Publication Web personnalisée avec PHP

FileMaker Server 11. Publication Web personnalisée avec PHP FileMaker Server 11 Publication Web personnalisée avec PHP 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP

Microsoft Dynamics. Installation de Management Reporter for Microsoft Dynamics ERP Microsoft Dynamics Installation de Management Reporter for Microsoft Dynamics ERP Date : mai 2010 Table des matières Introduction... 3 Présentation... 3 Configuration requise... 3 Installation de Management

Plus en détail

1. Installation du Module

1. Installation du Module 1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de

Plus en détail

Nouveautés joomla 3 1/14

Nouveautés joomla 3 1/14 Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes

Plus en détail

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV I ) Qu'est-ce que Symfony? II ) Force et Faiblesse III ) Comparaison de Framework identiques IV ) Exemple d'utilisation I ) Symfony Symfony est un framework

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

CMS Made Simple Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL.

CMS Made Simple Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. CMS Made Simple Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. Tutoriel Installation / mise à jour du CMS pour une version 1.6.x-1.8.x Pour information les documents

Plus en détail

Mise en place Active Directory, DNS Mise en place Active directory, DNS sous Windows Serveur 2008 R2

Mise en place Active Directory, DNS Mise en place Active directory, DNS sous Windows Serveur 2008 R2 BTS SIO Mise en place Active Directory, DNS Mise en place Active directory, DNS sous Windows Serveur 2008 R2 Frédéric Talbourdet Centre de formation Morlaix - GRETA BTS SIO CAHIER D ES CHARGES - Projet

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS

Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS Guide d utilisateurs Plesk WEBPACK GUIDE D UTILISATEURS 1 PleskWebpack MAS_FR- Octobre 2010 SOMMAIRE - Introduction 1 - Créer un compte FTP et les droits d accès 2 - Utiliser l outil de rapport (statweb,

Plus en détail

Annuaire : Active Directory

Annuaire : Active Directory Annuaire : Active Directory Un annuaire est une structure hiérarchique qui stocke des informations sur les objets du réseau. Un service d'annuaire, tel qu'active Directory, fournit des méthodes de stockage

Plus en détail

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

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition) Introduction 1. Les systèmes de gestion de contenu 11 2. Les avantages de Drupal 15 3. Le fonctionnement de Drupal 17 4. L'environnement de développement 20 5. L'installation de Drupal 25 6. Le passage

Plus en détail

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr 4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire

Plus en détail

Guide de l'utilisateur

Guide de l'utilisateur BlackBerry Internet Service Version: 4.5.1 Guide de l'utilisateur Publié : 2014-01-08 SWD-20140108170135662 Table des matières 1 Mise en route...7 À propos des formules d'abonnement pour BlackBerry Internet

Plus en détail

MEGA Web Front-End Installation Guide MEGA HOPEX V1R1 FR. Révisé le : 5 novembre 2013 Créé le : 31 octobre 2013. Auteur : Noé LAVALLEE

MEGA Web Front-End Installation Guide MEGA HOPEX V1R1 FR. Révisé le : 5 novembre 2013 Créé le : 31 octobre 2013. Auteur : Noé LAVALLEE MEGA HOPEX V1R1 FR Révisé le : 5 novembre 2013 Créé le : 31 octobre 2013 Auteur : Noé LAVALLEE SOMMAIRE Sommaire... 2 Étape préliminaire... 3 Système d exploitation... 3.Net... 3 Rôles nécessaires... 3

Plus en détail

FileMaker Server 11. Guide de la mise à jour des plug-ins

FileMaker Server 11. Guide de la mise à jour des plug-ins FileMaker Server 11 Guide de la mise à jour des plug-ins 2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une marque de FileMaker,

Plus en détail

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel Guide débuter avec WHM 1 / Introduction WHM signifie Web Host Manager (ou gestionnaire d'hébergement web). WHM va donc vous permettre de gérer des comptes d'hébergement pour vos clients. (création de compte,

Plus en détail

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Salesforce NOTICE The information contained in this document is believed to be accurate in all respects

Plus en détail

Guide de déploiement

Guide de déploiement Guide de déploiement Installation du logiciel - Table des matières Présentation du déploiement du logiciel CommNet Server Windows Cluster Windows - Serveur virtuel CommNet Agent Windows Cluster Windows

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Téléchargement d OCS Inventory Serveur et Agent. Sommaire

Téléchargement d OCS Inventory Serveur et Agent. Sommaire Téléchargement d OCS Inventory Serveur et Agent Tout d abord, Connectez-vous sur le site suivant : http://www.ocsinventory-ng.org/ Sélectionner le langage Français en cliquant sur le drapeau France Cliquer

Plus en détail

Neuvièmes Journées Informatique de l'in2p3-irfu

Neuvièmes Journées Informatique de l'in2p3-irfu Neuvièmes Journées Informatique de l'in2p3-irfu Développement d une application Web en Symfony2 pour le projet CKM Live Alexandre CLAUDE LPC Clermont-Ferrand Service Informatique Jérôme Charles CPT Marseille

Plus en détail

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Mise en œuvre de mod_webobjects Version: 2.0 Dernière modification: 2010/09/06 20:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Stratégie de groupe dans Active Directory

Stratégie de groupe dans Active Directory Stratégie de groupe dans Active Directory 16 novembre 2012 Dans ce document vous trouverez des informations fondamentales sur les fonctionnements de Active Directory, et de ses fonctionnalités, peut être

Plus en détail

Fabrice Bernhard, 26 ans, fondateur et directeur technique d'allomatch.com et Theodo

Fabrice Bernhard, 26 ans, fondateur et directeur technique d'allomatch.com et Theodo A propos Fabrice Bernhard, 26 ans, fondateur et directeur technique d'allomatch.com et Theodo Allomatch est le moteur de recherche des matches et évènements sportifs dans les cafés et bars Juin 2006 :

Plus en détail

Les modèles (templates) de Dokuwiki

Les modèles (templates) de Dokuwiki Les modèles (templates) de Dokuwiki Le look de Dokuwiki est personnalisable via les nombreux modèles qui existent déjà, et ceux que vous pouvez créer! La page des modèles sur le site de Dokuwiki : http://wiki.splitbrain.org/wiki:tpl:templates

Plus en détail

TD4 : Wikis, Servlets & Projet

TD4 : Wikis, Servlets & Projet Université Bordeaux 1 T.D. License 3 Informatique 2007 2008 TD4 : Wikis, Servlets & Projet L objet de cette séance est de vous familiariser avec les sockets et les servlets, et d introduire le projet.

Plus en détail

POUR COMMENCER AJOUTEZ LES RÉSERVATIONS À VOTRE SITE WEB MODULE DE RECHERCHE DE GROUPE D OPENTABLE

POUR COMMENCER AJOUTEZ LES RÉSERVATIONS À VOTRE SITE WEB MODULE DE RECHERCHE DE GROUPE D OPENTABLE AJOUTEZ LES RÉSERVATIONS À VOTRE SITE WEB MODULE DE RECHERCHE DE GROUPE D OPENTABLE Le module de recherche de groupe permet aux utilisateurs de sélectionner un emplacement spécifique de restaurant à partir

Plus en détail

Installation. Le programme d'installation de l'application SanDisk +Cloud se trouve sur la clé SanDisk.

Installation. Le programme d'installation de l'application SanDisk +Cloud se trouve sur la clé SanDisk. Installation Le programme d'installation de l'application SanDisk +Cloud se trouve sur la clé SanDisk. Tout d'abord, assurez-vous que l'ordinateur est bien connecté à Internet. Ensuite, insérez la clé

Plus en détail

Fonctionnement du Site Web Dynamique:

Fonctionnement du Site Web Dynamique: Fonctionnement du Site Web Dynamique: Site Web Dynamique: Un site Web dynamique est en faite un site Web dont les pages qu'il contient peuvent être générées dynamiquement, c'est à dire à la demande de

Plus en détail

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants

Cahier de Charge. Master I Informatique parcours Ingénierie Logiciels. E-Service Système d information web «Gestion des services ensignants Master I Informatique parcours Ingénierie Logiciels Projet : E-Service Gestions des Enseignements Groupe 06 Cahier de Charge E-Service Système d information web «Gestion des services ensignants 2011-2012

Plus en détail

Parallels Plesk Automation. Parallels Plesk Automation. Guide de démarrage rapide pour les hébergeurs

Parallels Plesk Automation. Parallels Plesk Automation. Guide de démarrage rapide pour les hébergeurs Parallels Plesk Automation Parallels Plesk Automation Guide de démarrage rapide pour les hébergeurs Table des matières Introduction 3 1. Installer PPA dans le node de gestion 6 2. Ajouter des nodes de

Plus en détail

1. Installation du Module. 1.1 upload d'archive. 1.2 Installation via le FTP. 1.3 Tester l'installation

1. Installation du Module. 1.1 upload d'archive. 1.2 Installation via le FTP. 1.3 Tester l'installation 1. Installation du Module Voici la procédure pour installer le module Magento. 1.1 upload d'archive Récupérez notre archive à cette adresse : http://www.lengow.fr/view/plugins/magento/lengow_magento- 1.5.7.tgz

Plus en détail

Installation d'un TSE (Terminal Serveur Edition)

Installation d'un TSE (Terminal Serveur Edition) Installation d'un TSE (Terminal Serveur Edition) Par LoiselJP Le 01/05/2013 (R2) 1 Objectifs Le TSE, comprenez Terminal Server Edition est une application de type 'main-frame' de Microsoft qui réside dans

Plus en détail

FileMaker Server 12. publication Web personnalisée avec XML

FileMaker Server 12. publication Web personnalisée avec XML FileMaker Server 12 publication Web personnalisée avec XML 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont

Plus en détail

Télécharger la version d'ext JS correspondante depuis la partie développeur : [[https://support.sencha.com/login.php?sid=]]

Télécharger la version d'ext JS correspondante depuis la partie développeur : [[https://support.sencha.com/login.php?sid=]] Création d'un thème sous Sencha by LegalBox Création d'un thème sous Sencha 1. Installation de l'environement Sencha Installer la dernière version de Ruby : [[https://www.ruby-lang.org/fr/downloads/]]

Plus en détail

Guide d'installation pour Plug-in : PHP et Perl

Guide d'installation pour Plug-in : PHP et Perl Guide d'installation pour Plug-in : PHP et Perl Version AE280507-APIv6 Guide d'installation pour Plug-in : PHP et Perl API v6 Avertissements : Le fichier Version.txt précise l'environnement dans lequel

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2)

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) Avril 2014 Installation de l application Pré-requis (page 2) Mise en place de la base de données Base de données SQL Express (page 2) Base de données

Plus en détail

Guide de l'utilisateur de Crystal Reports. Installation de Crystal Reports XI

Guide de l'utilisateur de Crystal Reports. Installation de Crystal Reports XI Guide de l'utilisateur de Crystal Reports Installation de Crystal Reports XI Installation de Crystal Reports XI Installation de Crystal Reports XI L'Assistant d'installation de Crystal Reports fonctionne

Plus en détail

SOMMAIRE. Utilisation des profils itinérants. Chapitre 1 Mise en place 2

SOMMAIRE. Utilisation des profils itinérants. Chapitre 1 Mise en place 2 Page 1 sur 21 SOMMAIRE Chapitre 1 Mise en place 2 1.1 Qu est ce que c est 2 1.2 Quelques recommandations 3 1.3 La sécurité? 4 1.4 Comment le configurer? 5 1.5 Comment obtenir les droits sur le profil?

Plus en détail

7.0 Guide de la solution Portable sans fil

7.0 Guide de la solution Portable sans fil 7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

Plus en détail

Cross-Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF) TIW4-TP1 CSRF 1 Cross-Site Request Forgery (CSRF) Copyright c 2006-2010 Wenliang Du, Syracuse University. The development of this document is funded by the National Science Foundation s Course, Curriculum,

Plus en détail

II Importation et retrait automatiques de

II Importation et retrait automatiques de II Importation et retrait automatiques de postes de travail Les services d'importation et de retrait automatiques de postes de travail de Novell ZENworks for Desktops (ZfD) permettent de gérer facilement

Plus en détail

CHARLOIS SIGAUD AGNAN Nils Vincent Diane PROJET 04 - PLATEFORME DE PROJET ZEND ET SYMFONY

CHARLOIS SIGAUD AGNAN Nils Vincent Diane PROJET 04 - PLATEFORME DE PROJET ZEND ET SYMFONY CHARLOIS SIGAUD AGNAN Nils Vincent Diane PROJET 04 - PLATEFORME DE PROJET ZEND ET SYMFONY Installation de Symfony : Paquet à installer : - php5 - php5-pgsql - postgresql - apache2 Prérequis au niveau

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Formulaires Symfony2. Cas pratiques et explications

Formulaires Symfony2. Cas pratiques et explications Formulaires Symfony2 Cas pratiques et explications Alexandre Salomé sfpot mai 2013 Plan 2/51 Pré-requis Avoir lu la documentation des formulaires 4 cas pratiques Un formulaire de login Changer de mot de

Plus en détail

Sage CRM. 7.2 Guide du portable

Sage CRM. 7.2 Guide du portable Sage CRM 7.2 Guide du portable Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

The Components Book Version: 2.3

The Components Book Version: 2.3 The Components Book Version:. generated on September, 0 The Components Book (.) This work is licensed under the Attribution-Share Alike.0 Unported license (http://creativecommons.org/ licenses/by-sa/.0/).

Plus en détail

Nouveautés de Drupal 8. Léon Cros @chipway

Nouveautés de Drupal 8. Léon Cros @chipway Nouveautés de Drupal 8 Léon Cros @chipway.. Léon Cros Communauté Drupal Président de l'association Drupal France et Francophonie @chipway / chipway-drupal. JDLL 2014. Chipway : Spécialiste Formations Drupal

Plus en détail

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2

Plus en détail

LSI2 Programmation Web TP n 4 du 17 décembre 2007

LSI2 Programmation Web TP n 4 du 17 décembre 2007 Page 1 sur 6 LSI2 Programmation Web TP n 4 du 17 décembre 2007 Corrigé des TPs précédents Le code source de la solution est fourni dans un fichier.zip téléchargeable à l adresse http://www.isitix.com/enssat/enssat20071217.zip

Plus en détail

Premières applications. Web 2.0. avec Ajax et PHP. J e a n - M a r i e D e f r a n c e. Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5

Premières applications. Web 2.0. avec Ajax et PHP. J e a n - M a r i e D e f r a n c e. Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5 Premières applications Web 2.0 avec Ajax et PHP J e a n - M a r i e D e f r a n c e Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5 8 Applications Ajax-PHP synchrones Pour commencer simplement, je vous

Plus en détail

FileMaker Server 12. Publication Web personnalisée avec PHP

FileMaker Server 12. Publication Web personnalisée avec PHP FileMaker Server 12 Publication Web personnalisée avec PHP 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Facebook PS Shop Tab. Pré-requis Serveur. Pré-requis Facebook

Facebook PS Shop Tab. Pré-requis Serveur. Pré-requis Facebook Facebook PS Shop Tab Version : 2.2.7 Date de dernière mise à jour : 29/12/2011 Développement : Business Tech modules@businesstech.fr Démo : http://www.facebook.com/arthusandco Pré-requis Serveur La nouvelle

Plus en détail

Date: Autres informations: 15.06.2015 w w w.sw isssalary.ch. copyright 1998-2015 Swisssalary Ltd.

Date: Autres informations: 15.06.2015 w w w.sw isssalary.ch. copyright 1998-2015 Swisssalary Ltd. IncaMail Date: Autres informations: 15.06.2015 w w w.sw isssalary.ch copyright 1998-2015 Swisssalary Ltd. IncaMail 2015 SwissSalary Ltd. All rights reserved. No parts of this work may be reproduced in

Plus en détail

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans

Plus en détail

La Programmation Web avec PHP

La Programmation Web avec PHP Nouvelle page 1 La Programmation Web avec PHP Qu'est-ce que php? Menu Qu'est ce que php? Les scripts PHP Installation de PHP Configuration d'un serveur IIS Mohamed SIDIR PHP est un langage de script HTML,

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail