The Components Book Version: 2.7

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

Download "The Components Book Version: 2.7"

Transcription

1 The Components Book Version:. generated on September, 0

2 The Components Book (.) 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 installer et utiliser les composants de Symfony... Le Composant ClassLoader... Le Composant Config...0 Chargement des ressources... Mécanisme de cache basé sur les ressources... Définir et traiter les valeurs de configuration... Le Composant Console... Utiliser les commandes de console, les raccourcis et les commandes préconstruites... Modifier la commande par défault... Comment construire une application qui est une commande unique... Utilisez les événements... Helper Dialog... Formatter Helper... Progress Helper... Table Helper... Le Composant CssSelector... Le Composant Debug... Débugger un Class Loader... Le Composant d'injection de Dépendance («Dependency Injection» en anglais)...0 Types d'injection... Introduction aux paramètres... Travailler avec les définitions du conteneur... Compiler le Conteneur... Travailler avec des Services Taggés... Utiliser une «Factory» pour créer des services...0 Configurer des services avec un configurateur de service... Gérer les dépendances communes avec des services parents... Configuration Avancée du Conteneur Les services instanciés à la demande («lazy services» en anglais)... 0 Processus de construction du Conteneur... 0 Le Composant DomCrawler... 0 Le Composant répartiteur d'évènement... L'objet Évènement Générique... Le Répartiteur d'évènement du Container Aware... Le composant ExpressionLanguage... 0 Syntaxe des expressions... generated on September, 0 Contents at a Glance iii

4 Étendre ExpressionLanguage... Cacher les expressions en utilisant les parsers de cache... Le Composant «Filesystem» («système de fichiers» en français)... Le Composant Finder... Le composant Formulaire... Créer un Type Guesser personnalisé... Le composant HttpFoundation... Gestion de Session... Configurer les Sessions et les gestionnaires de sauvegarde... Tester avec les sessions... Intégration avec les session "Legacy"... Proxies de confiance... Le composant HttpKernel... Le Composant Locale... Le Composant «Process»... Le Composant PropertyAccess... Le Composant de Routage... Comment faire correspondre une route en se basant sur l'hôte... 0 Le composant sécurité... Le Pare-Feu et le Contexte de Sécurité... Authentification... Autorisation... Le Composant Serializer... Le Composant Templating... Le Composant YAML... Le Format YAML... iv Contents at a Glance Contents at a Glance

5 Chapter Comment installer et utiliser les composants de Symfony Si vous commencez un nouveau projet (ou si vous en avez déjà un) qui doit utiliser un ou plusieurs composants, la manière la plus facile pour intégrer cela est Composer. Composer est suffisamment intelligent pour télécharger le ou les composants dont vous avez besoin et prendre en charge l'autoloading, vous n'avez plus qu'à commencer à utiliser tout de suite ces librairies. Cet article va vous guider à traver la documentation : Le Composant Finder. Cela pourra être utilisé pour tout autre composant. Utiliser le composant Finder. Si vous créez un nouveau projet, créez le avec un répertoire vide.. Créé un fichier appelé composer.json et coller ce qui suit: Listing - "require": "symfony/finder": "..*" Si vous avez déjà un fichier composer.json, ajoutez juste les lignes ci-dessus. Vous aurez peut-être besoin de modifié la version (exp... ou..*). Vous pouvez rechercher les noms et versions des composants à packagist.org.. Installez composer si il n'est pas déjà présent sur votre système:. Téléchargez les librairies tierces et générez fichier vendor/autoload.php:. https://packagist.org/. generated on September, 0 Chapter : Comment installer et utiliser les composants de Symfony

6 Listing - $ php composer.phar install. Ecrivez votre code: Une fois que Composer a téléchargé le ou les composants, tout ce dont vous avez besoin est inclut dans le fichier vendor/autoload.php qui a été généré par Composer. Ce fichier prends en compte l'autoloading pour toutes les librairies, donc vous pouvez directement les utiliser: Listing - 0 // Fichier: src/script.php // mettez jour ce chemin le répertoire "vendor/" en relation la position // de ce fichier require_once '../vendor/autoload.php'; use Symfony\Component\Finder\Finder; $finder = new Finder(); $finder->in('../data/'); //... Si vous voulez utiliser tous les composants Symfony, au lieu de les ajouter tous un par un: Listing - "require": "symfony/finder": "..*", "symfony/dom-crawler": "..*", "symfony/css-selector": "..*" Vous pouvez faire ceci: Listing - "require": "symfony/symfony": "..*" Cela inclue les librairies Bundle et Bridge, que vous n'avez pas encore besoin. Et maintenant? Le composant est installé et autochargé, lisez la documentation du composant pour en savoir sur comment l'utiliser. Et maintenant, amusez vous bien! generated on September, 0 Chapter : Comment installer et utiliser les composants de Symfony

7 Chapter Le Composant ClassLoader Le Composant ClassLoader charge les classes de votre projet automatiquement si elles suivent quelques conventions standards de PHP. Chaque fois que vous utilisez une classe non-définie, PHP utilise le mécanisme de chargement automatique («Autoloading» en anglais) afin qu'il s'occupe de charger un fichier définissant la classe. Symfony fournit un «autoloader universel», qui est capable de charger des classes depuis des fichiers qui implémentent l'une des conventions suivantes : Les standards d'intéropérabilité technique pour les espaces de nom de PHP. et les noms de classe ; La convention de nommage PEAR pour les classes. Si vos classes et les bibliothèques tierces que vous utilisez pour votre projet suivent ces standards, l'«autoloader» de Symfony est l'unique «autoloader» dont vous aurez besoin. Installation Vous pouvez installer le composant de plusieurs manières : Utilisez le dépôt officiel Git (https://github.com/symfony/classloader ) ; Installez le via Composer (symfony/class-loader sur Packagist ). Utilisation New in version.: La méthode useincludepath a été ajoutée dans Symfony... https://github.com/symfony/classloader. https://packagist.org/packages/symfony/class-loader generated on September, 0 Chapter : Le Composant ClassLoader

8 Enregistrer l'«autoloader» UniversalClassLoader est très facile: Listing - 0 require_once '/path/to/src/symfony/component/classloader/universalclassloader.php'; use Symfony\Component\ClassLoader\UniversalClassLoader; $loader = new UniversalClassLoader(); // enregistrez les espaces de noms et préfixes ici (voir ci-dessous) // vous pouvez rechercher dans l'«include_path» en dernier recours. $loader->useincludepath(true); $loader->register(); Pour des gains de performance mineurs, les chemins vers les classes peuvent être cachés en mémoire en utilisant APC en enregistrant la classe ApcUniversalClassLoader : Listing - require_once '/path/to/src/symfony/component/classloader/universalclassloader.php'; require_once '/path/to/src/symfony/component/classloader/apcuniversalclassloader.php'; use Symfony\Component\ClassLoader\ApcUniversalClassLoader; $loader = new ApcUniversalClassLoader('apc.prefix.'); $loader->register(); L'«autoloader» est utile uniquement si vous ajoutez des bibliothèques à charger automatiquement. L'«autoloader» est automatiquement enregistré dans une application Symfony (voir app/ autoload.php). Si les classes à charger automatiquement utilisent les espaces de noms, utilisez la méthode registernamespace() ou registernamespaces() : Listing - $loader->registernamespace('symfony', DIR.'/vendor/symfony/symfony/src'); $loader->registernamespaces(array( 'Symfony' => DIR.'/../vendor/symfony/symfony/src', 'Monolog' => DIR.'/../vendor/monolog/monolog/src', )); $loader->register(); Pour les classes qui suivent la convention de nommage PEAR, utilisez la méthode registerprefix() ou registerprefixes() 0 : Listing - $loader->registerprefix('twig_', DIR.'/vendor/twig/twig/lib'); generated on September, 0 Chapter : Le Composant ClassLoader

9 $loader->registerprefixes(array( 'Swift_' => DIR.'/vendor/swiftmailer/swiftmailer/lib/classes', 'Twig_' => DIR.'/vendor/twig/twig/lib', )); $loader->register(); Certaines bibliothèques requièrent que la racine de leur chemin soit définie dans le «include path» PHP (set_include_path()). Les classes provenant d'un sous-espace de nom ou d'une sous-hiérarchie de classes PEAR peuvent être recherchées dans une liste de chemins afin de faciliter la séparation de sous-ensembles de bibliothèques pour les grands projets: Listing - $loader->registernamespaces(array( 'Doctrine\\Common' => DIR.'/vendor/doctrine/common/lib', 'Doctrine\\DBAL\\Migrations' => DIR.'/vendor/doctrine/migrations/lib', 'Doctrine\\DBAL' => DIR.'/vendor/doctrine/dbal/lib', 'Doctrine' => DIR.'/vendor/doctrine/orm/lib', )); $loader->register(); Dans cet exemple, si vous essayez d'utiliser une classe de l'espace de noms Doctrine\Common ou de l'un de ses enfants, l'«autoloader» va d'abord rechercher la classe dans le répertoire doctrine-common, et il va ensuite rechercher dans le répertoire Doctrine (le dernier configuré) s'il ne la trouve pas, avant d'abandonner. L'ordre des enregistrements est significatif dans ce cas. generated on September, 0 Chapter : Le Composant ClassLoader

10 Chapter Le Composant Config Introduction Le Composant Config fournit plusieurs classes pour vous aider à trouver, charger, combiner, préremplir et valider des valeurs de configuration de n'importe quel type, quelle que soit leur source (Yaml, XML, fichiers INI, ou par exemple une base de données). Installation Vous pouvez installer le composant de deux manières différentes : Utilisez le dépôt Git officiel (https://github.com/symfony/config ) ; Installez le via Composer (symfony/config à Packagist ). Sections Chargement des ressources Mécanisme de cache basé sur les ressources Définir et traiter les valeurs de configuration. https://github.com/symfony/config. https://packagist.org/packages/symfony/config generated on September, 0 Chapter : Le Composant Config 0

11 Chapter Chargement des ressources Localisation des ressources Le chargement de la configuration démarre normalement par une recherche des ressources - dans la plupart des cas : des fichiers. Cela peut être effectué à l'aide de la classe FileLocator : Listing - use Symfony\Component\Config\FileLocator; $configdirectories = array( DIR.'/app/config'); $locator = new FileLocator($configDirectories); $yamluserfiles = $locator->locate('users.yml', null, false); Le localisateur reçoit une collection de localisations où il doit rechercher les fichiers. Le premier argument de locate() est le nom du fichier à rechercher. Le second argument peut être le chemin courant, et lorsqu'il est fourni, le localisateur doit rechercher en premier dans ce répertoire. Le troisième argument indique si oui ou non le localisateur doit retourner le premier fichier qu'il trouve, ou bien un tableau contenant tous les fichiers trouvés. Chargeurs de ressource Pour chaque type de ressource (Yaml, XML, annotations, etc.), un chargeur doit être défini. Chaque chargeur doit implémenter LoaderInterface ou étendre la classe abstraite FileLoader, qui permet d'importer d'autres ressources de manière récursive: Listing - use Symfony\Component\Config\Loader\FileLoader; use Symfony\Component\Yaml\Yaml;. generated on September, 0 Chapter : Chargement des ressources

12 0 0 class YamlUserLoader extends FileLoader public function load($resource, $type = null) $configvalues = Yaml::parse($resource); //... gérer les valeurs de configuration // importer peut-être d'autres ressources : // $this->import('extra_users.yml'); public function supports($resource, $type = null) return is_string($resource) && 'yml' === pathinfo( $resource, PATHINFO_EXTENSION ); Trouver le bon chargeur La classe LoaderResolver reçoit en tant que premier argument de son constructeur une collection de chargeurs. Quand une ressource (par exemple un fichier XML) doit être chargée, le «LoaderResolver» va itérer sur cette collection de chargeurs et retourner le chargeur qui supporte ce type de ressource en particulier. La classe DelegatingLoader utilise la classe LoaderResolver. Lorsqu'on lui demande de charger une ressource, elle délègue cette question à la classe LoaderResolver. Dans le cas où le résolveur trouve un chargeur approprié, ce dernier va être utilisé pour charger la ressource: Listing - 0 use Symfony\Component\Config\Loader\LoaderResolver; use Symfony\Component\Config\Loader\DelegatingLoader; $loaderresolver = new LoaderResolver(array(new YamlUserLoader($locator))); $delegatingloader = new DelegatingLoader($loaderResolver); $delegatingloader->load( DIR.'/users.yml'); /* Le YamlUserLoader va être utilisé pour charger cette ressource puisqu'il supporte les fichiers ayant une extension «yml» */. generated on September, 0 Chapter : Chargement des ressources

13 Chapter Mécanisme de cache basé sur les ressources Lorsque toutes les ressources de configuration sont chargées, vous pourriez vouloir traiter les valeurs de configuration et les combiner toutes en un seul fichier. Ce fichier agit en tant que cache. Son contenu n'a pas besoin d'être regénéré chaque fois que l'application est exécutée mais seulement quand les ressources de configuration sont modifiées. Par exemple, le composant de Routage de Symfony vous permet de charger toutes les routes, et d'afficher une correspondance d'url ou une URL générée basé sur ces routes. Dans ce cas, lorsqu'une des ressources est modifiée (et que vous travaillez dans un environnement de développement), le fichier généré devrait être invalidé ou regénéré. Cela peut être effectué en utilisant la classe ConfigCache. L'exemple ci-dessous vous montre comment collecter des ressources, puis générer du code basé sur les ressources qui ont été chargées, et écrire ce code dans le cache. Le cache reçoit aussi la collection de ressources qui ont été utilisées pour générer le code. En regardant le timestamp de la date de dernière modification de ces ressources, le cache peut dire s'il contient toujours la dernière version ou si son contenu devrait être regénéré: Listing - 0 use Symfony\Component\Config\ConfigCache; use Symfony\Component\Config\Resource\FileResource; $cachepath = DIR.'/cache/appUserMatcher.php'; // le second argument indique si vous voulez utiliser le mode debug ou non $usermatchercache = new ConfigCache($cachePath, true); if (!$usermatchercache->isfresh()) // remplissez cela avec un tableau contenant les chemins des fichiers // «users.yml» $yamluserfiles =...; $resources = array(); foreach ($yamluserfiles as $yamluserfile) // Lisez l'article précédent «Chargement des ressources» // pour voir d'où provient $delegatingloader. generated on September, 0 Chapter : Mécanisme de cache basé sur les ressources

14 0 0 $delegatingloader->load($yamluserfile); $resources[] = new FileResource($yamlUserFile); // le code pour le «UserMatcher» est généré quelque part d'autre $code =...; $usermatchercache->write($code, $resources); // vous pourriez vouloir inclure le code caché : require $cachepath; En mode débuggage, un fichier.meta sera créé dans le même répertoire que le fichier de cache lui-même. Ce fichier.meta contient les ressources sérialisées, dont les timestamps sont utilisées pour déterminer si le cache contient toujours la dernière version. Lorsque vous n'êtes pas en mode débuggage, le cache est considéré comme contenant la dernière version dès qu'il existe, et donc, aucun fichier.meta ne sera généré. generated on September, 0 Chapter : Mécanisme de cache basé sur les ressources

15 Chapter Définir et traiter les valeurs de configuration Valider les valeurs de configuration Après avoir chargé les valeurs de configuration depuis toute sorte de ressources, les valeurs et leur structure peuvent être validées en utilisant la partie «Definition» du Composant Config. On s'attend généralement à ce que les valeurs de configuration possèdent une certaine hiérarchie. Aussi, les valeurs devraient être d'un certain type, restreintes en nombre ou faire partie d'un ensemble de valeurs donné. Par exemple, la configuration suivante (en YAML) montre une hiérarchie claire et quelques règles de validation qui devraient lui être appliquées (par exemple : «la valeur de auto_connect doit être une valeur booléenne») : Listing - 0 auto_connect: true default_connection: mysql connections: mysql: host: localhost driver: mysql username: user password: pass sqlite: host: localhost driver: sqlite memory: true username: user password: pass Lorsque vous chargez plusieurs fichiers de configuration, il devrait être possible de fusionner et de surcharger quelques valeurs. D'autres valeurs ne devraient pas être fusionnées et rester comme elles étaient lorsque vous les avez rencontrées pour la première fois. Aussi, certaines clés sont seulement disponibles quand une autre clé possède une valeur spécifique (dans l'exemple de configuration ci-dessus : la clé memory n'a de sens que si le driver est sqlite). generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

16 Définir une hiérarchie des valeurs de configuration en utilisant le «TreeBuilder» Toutes les règles concernant les valeurs de configuration peuvent être définies en utilisant le TreeBuilder («constructeur d'arbre» en français). Une instance de TreeBuilder devrait être retournée depuis une classe Configuration personnalisée qui implémente ConfigurationInterface : Listing - 0 namespace Acme\DatabaseConfiguration; use Symfony\Component\Config\Definition\ConfigurationInterface; use Symfony\Component\Config\Definition\Builder\TreeBuilder; class DatabaseConfiguration implements ConfigurationInterface public function getconfigtreebuilder() $treebuilder = new TreeBuilder(); $rootnode = $treebuilder->root('database'); //... ajoute des définitions de noeud à la racine de l'arbre return $treebuilder; Ajouter des définitions de noeuds à l'arbre Noeuds variable Un arbre contient des définitions de noeuds qui peuvent être décrites d'une manière sémantique. Cela signifie qu'en utilisant l'indentation et une notation fluide, il est possible de refléter la structure réelle des valeurs de configuration: Listing - 0 $rootnode ->children() ->booleannode('auto_connect') ->defaulttrue() ->end() ->scalarnode('default_connection') ->defaultvalue('default') ->end() ->end() ; Le noeud racine lui-même est un tableau de noeuds, et possède des enfants, comme le noeud booléen auto_connect et le noeud scalaire default_connection. En général : après avoir défini un noeud, un appel à la méthode end() vous fait remonter d'un niveau dans la hiérarchie.. generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

17 Types de noeud Il est possible de valider le type d'une valeur fournie en utilisant la définition de noeud appropriée. Les types de noeud disponibles sont : scalar boolean array enum integer (new in.) float (new in.) variable (pas de validation) et sont créés avec node($name, $type) ou leurs méthodes raccourcies associées xxxxnode($name). Contraintes de noeud numérique New in version.: Les noeuds numériques (float et integer) ont été ajoutés dans la version. Les noeuds numériques (float et integer) fournissent deux contraintes supplémentaires min() et max() qui vous permettent de valider leur valeur: Listing - 0 $rootnode ->children() ->integernode('positive_value') ->min(0) ->end() ->floatnode('big_value') ->max(e) ->end() ->integernode('value_inside_a_range') ->min(-0)->max(0) ->end() ->end() ; Noeuds tableau Il est possible d'ajouter un niveau plus profond à la hiérarchie en ajoutant un noeud tableau. Le noeud tableau lui-même peut avoir un ensemble prédéfini de noeuds variable: Listing - 0 $rootnode ->children() ->arraynode('connection') ->children() ->scalarnode('driver')->end() ->scalarnode('host')->end() ->scalarnode('username')->end() ->scalarnode('password')->end() ->end() ->end() ->end() ; Ou vous pouvez définir un prototype pour chaque noeud à l'intérieur d'un noeud tableau:. generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

18 Listing - 0 $rootnode ->children() ->arraynode('connections') ->prototype('array') ->children() ->scalarnode('driver')->end() ->scalarnode('host')->end() ->scalarnode('username')->end() ->scalarnode('password')->end() ->end() ->end() ->end() ->end() ; Un prototype peut être utilisé pour ajouter une définition qui peut être répétée un grand nombre de fois à l'intérieur du noeud courant. Selon la définition du prototype dans l'exemple ci-dessus, il est possible d'avoir plusieurs tableaux de connexion (contenant un driver, host, etc.). Options de noeud tableau Avant de définir les enfants d'un noeud tableau, vous pouvez fournir des options comme : useattributeaskey() Fournit le nom d'un noeud enfant, dont la valeur devrait être utilisée en tant que clé dans le tableau résultant requiresatleastoneelement() Il devrait y avoir au moins un élément dans le tableau (fonctionne seulement quand isrequired est aussi appelé). adddefaultsifnotset() Si plusieurs noeuds enfants ont des valeurs par défaut, utilisez les si des les valeurs n'ont pas été explicitement fournies. Un exemple de cela: Listing - 0 $rootnode ->children() ->arraynode('parameters') ->isrequired() ->requiresatleastoneelement() ->useattributeaskey('name') ->prototype('array') ->children() ->scalarnode('value')->isrequired()->end() ->end() ->end() ->end() ->end() ; En YAML, la configuration ressemblerait à ceci: Listing - database: parameters: param: value: paramval generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

19 En XML, chaque noeud parameters doit avoir un attribut name ( suivi de value), qui devrait être supprimé et utilisé comme une clé pour cet élément dans le tableau final. L'option useattributeaskey est utile pour normaliser comment les tableaux sont spécifiés dans chaque format comme le XML et le YAML Valeurs par défaut et valeurs requises Pour tous les types de noeud, il est possible de définir des valeurs par défaut et des valeurs de remplacement dans le cas où un noeud possède une certaine valeur : defaultvalue() Définit une valeur par défaut isrequired() Doit être défini (mais peut être vide) cannotbeempty() Ne peut pas contenir de valeur vide default*() (null, true, false), raccourci pour defaultvalue() treat*like() (null, true, false), fournit une valeur de remplacement dans le cas où la valeur est *. Listing $rootnode ->children() ->arraynode('connection') ->children() ->scalarnode('driver') ->isrequired() ->cannotbeempty() ->end() ->scalarnode('host') ->defaultvalue('localhost') ->end() ->scalarnode('username')->end() ->scalarnode('password')->end() ->booleannode('memory') ->defaultfalse() ->end() ->end() ->end() ->arraynode('settings') ->adddefaultsifnotset() ->children() ->scalarnode('name') ->isrequired() ->cannotbeempty() ->defaultvalue('value') ->end() ->end() ->end() ->end() ; generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

20 Sections facultatives New in version.: Les méthodes canbeenabled et canbedisabled sont une nouveauté de Symfony. Si vous avez des sections entières qui sont facultatives et qui peuvent être activées ou désactivées, vous pouvez profiter des avantages des méthodes raccourci canbeenabled() et canbedisabled() : Listing -0 0 $arraynode ->canbeenabled() ; // est équivalent à $arraynode ->treatfalselike(array('enabled' => false)) ->treattruelike(array('enabled' => true)) ->treatnulllike(array('enabled' => true)) ->children() ->booleannode('enabled') ->defaultfalse() ; La méthode canbedisabled est quasiment identique à ceci près que la section sera activée par défaut. Options de fusion Des options supplémentaires concernant le processus de fusion peuvent être fournies. Pour les tableaux : performnodeepmerging() Lorsque la valeur est aussi définie dans un second tableau de configuration, n'essaye pas de fusionner un tableau, mais le surcharge entièrement Pour tout les noeuds : cannotbeoverwritten() Ne laisse pas les autres tableaux de configuration surcharger une valeur existante pour ce noeud Ajouter des sections Si vous devez valider une configuration complexe, alors l'arbre peut devenir très long et vous voudrez surement le découper en plusieurs sections. Vous pouvez faire cela en définissant une section dans un noeud séparé et en ajoutant ce noeud à l'arbre principal avec append(): Listing - 0 public function getconfigtreebuilder() $treebuilder = new TreeBuilder(); $rootnode = $treebuilder->root('database'); $rootnode ->children() ->arraynode('connection') ->children() ->scalarnode('driver'). generated on September, 0 Chapter : Définir et traiter les valeurs de configuration 0

21 0 0 0 ; ->isrequired() ->cannotbeempty() ->end() ->scalarnode('host') ->defaultvalue('localhost') ->end() ->scalarnode('username')->end() ->scalarnode('password')->end() ->booleannode('memory') ->defaultfalse() ->end() ->end() ->append($this->addparametersnode()) ->end() ->end() return $treebuilder; public function addparametersnode() $builder = new TreeBuilder(); $node = $builder->root('parameters'); $node ->isrequired() ->requiresatleastoneelement() ->useattributeaskey('name') ->prototype('array') ->children() ->scalarnode('value')->isrequired()->end() ->end() ->end() ; return $node; C'est aussi très utile pour vous aider à ne pas vous répeter si vous avez des sections de configuration qui sont identiques en plusieurs endroits. Normalisation Lorsque les fichiers de configuration sont traités, ils sont d'abord normalisés. Ensuite, ils sont fusionnés puis l'arbre est utilisé pour valider le tableau qui a été généré. La normalisation consiste à supprimer certaines des différences issues des différents formats de configuration, principalement des différences entre Yaml et XML. Typiquement, le séparateur de clés utilisé en Yaml est _ et - en XML. Par exemple, auto_connect en Yaml deviendrait auto-connect en XML. La normalisation les transforme tout les deux en auto_connect. La clé cible ne sera pas modifié si elle est mélangée comme ceci foo-bar_moo ou si elle existe déjà. generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

22 Une autre différence en Yaml et Xml est la manière dont les tableaux de valeurs sont représentés. En Yaml, cela ressemble à : Listing - twig: extensions: ['twig.extension.foo', 'twig.extension.bar'] et en XML à : Listing - <twig:config> <twig:extension>twig.extension.foo</twig:extension> <twig:extension>twig.extension.bar</twig:extension> </twig:config> Cette différence peut être supprimée à la normalisation en pluralisant la clé utilisée en XML. Vous pouvez indiquer que vous voulez qu'une clé soit pluralisée de cette manière avec fixxmlconfig(): Listing - $rootnode ->fixxmlconfig('extension') ->children() ->arraynode('extensions') ->prototype('scalar')->end() ->end() ->end() ; S'il s'agit d'un pluriel irrégulier, vous pouvez le spécifier comme second argument: Listing - $rootnode ->fixxmlconfig('child', 'children') ->children() ->arraynode('children') ->end() ; En parallèle, fixxmlconfig garantit que chaque élément xml sera toujours intégré dans un tableau. Vous pouvez avoir : Listing - <connection>default</connection> <connection>extra</connection> et parfois seulement : Listing - <connection>default</connection> Par défaut, connection sera un tableau dans le premier cas et une chaine de caractères dans le second cas, ce qui rendrait la validation difficile. Vous pouvez vous assurer qu'il s'agisse toujours d'un tableau avec fixxmlconfig. Si nécessaire, vous pouvez contrôler encore plus le processus de normalisation. Par exemple, vous pouvez autoriser qu'une chaine de caractères soit définie et utilisée comme clé particulière, ou que plusieurs clés soit définies explicitement. Pour cela, si tout est facultatif dans votre config sauf l'id: Listing - connection: name: my_mysql_connection host: localhost generated on September, 0 Chapter : Définir et traiter les valeurs de configuration

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

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

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

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

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d

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

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

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

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

La hiérarchie du système DNS

La hiérarchie du système DNS LA RÉSOLUTION DE NOMS 1. PRÉSENTATION DU SYSTÈME DNS 1.1 INTRODUCTION À LA RÉSOLUTION DE NOMS Pour pouvoir communiquer, chaque machine présente sur un réseau doit avoir un identifiant unique. Avec le protocole

Plus en détail

Alfresco Mobile pour Android

Alfresco Mobile pour Android Alfresco Mobile pour Android Guide d'utilisation de l'application Android version 1.1 Commencer avec Alfresco Mobile Ce guide offre une présentation rapide vous permettant de configurer Alfresco Mobile

Plus en détail

XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0

XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0 XPhotos plugin pour XLOBBY par TocaToc - Version 1.0.0.0 Dernière mise à jour : 01/05/2007 Ce plugin a pour but de : Créer la database de vos photos pour XLOBBY, Créer, dans le répertoire "Cache" de Xlobby,

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

Formation Symfony 2, fondamentaux et avancé

Formation Symfony 2, fondamentaux et avancé L institut de formation continue des professionnels du Web Formation Symfony 2, fondamentaux et avancé Référence formation : Durée : Prix conseillé : SF2 5 jours (35 heures) 2 600 HT (hors promotion ou

Plus en détail

Signature et chiffrement de messages

Signature et chiffrement de messages 1 sur 5 Signature et chiffrement de messages Dans cette section : À propos des signatures numériques et du chiffrement Obtenir des certificats d'autres personnes Configurer les réglages de sécurité Signer

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage Outil d administration de parc informatique Documentation d installation et de paramétrage Nicolas BIDET Ouapi.org 29/07/2012 Sommaire Installation de Wampserver... 3 1.1. Téléchargement de WampServer...

Plus en détail

Veille technologique Symfony 2

Veille technologique Symfony 2 Veille technologique Symfony 2 Introduction : Symfony2 est un Framework PHP en MVC qui a pour objectif d'accélérer les développements. Il impose également un certain nombre de bonne pratique à respecter

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

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

Premiers pas avec Eclipse : INTRODUCTION INSTALLATION. Premiers contacts : Le workspace est le répertoire dans lequel sont stockés :

Premiers pas avec Eclipse : INTRODUCTION INSTALLATION. Premiers contacts : Le workspace est le répertoire dans lequel sont stockés : Premiers pas avec Eclipse : INTRODUCTION Eclipse est un IDE, Integrated Development Environment (EDI environnement de développement intégré en français), c'est-à-dire un logiciel qui simplifie la programmation

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

Installation et utilisation de SSH. .et

Installation et utilisation de SSH. .et Installation et utilisation de SSH.et.soumission de travail SSH est un protocole de communication qui permet de communiquer à distance entre deux ordinateurs. Pour cela, il faut qu un des deux ordinateurs

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

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

Je communique avec Skype

Je communique avec Skype Je communique avec Skype Support de formation des Médiathèques du Pays de Romans Site Internet Twitter MediaTechRomans Table des matières Présentation de Skype...2 Un logiciel pour être plus proche...

Plus en détail

Serveur de Licences Acronis. Guide Utilisateur

Serveur de Licences Acronis. Guide Utilisateur Serveur de Licences Acronis Guide Utilisateur TABLE DES MATIÈRES 1. INTRODUCTION... 3 1.1 Présentation... 3 1.2 Politique de Licence... 3 2. SYSTEMES D'EXPLOITATION COMPATIBLES... 4 3. INSTALLATION DU

Plus en détail

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative) IBM SPSS Statistics Version 22 Instructions d'installation sous Windows (licence nominative) Table des matières Instructions d'installation....... 1 Configuration requise........... 1 Code d'autorisation...........

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

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

Travaux pratiques Gestion des fichiers de configuration de routeur avec le logiciel d émulation de terminal

Travaux pratiques Gestion des fichiers de configuration de routeur avec le logiciel d émulation de terminal Travaux pratiques Gestion des fichiers de configuration de routeur avec le logiciel d émulation de terminal Topologie Table d adressage Périphérique Interface Adresse IP Masque de sous-réseau Passerelle

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2. 1.2 Le système DNS... 2. 1.3 Les types de requêtes DNS...

1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2. 1.2 Le système DNS... 2. 1.3 Les types de requêtes DNS... Table des matières 1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2 1.2 Le système DNS... 2 1.3 Les types de requêtes DNS... 4 1.4 Configuration des clients DNS... 8 1.4.1 Résolution

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

Installation et gestion du site Web de rapports dans cet article :

Installation et gestion du site Web de rapports dans cet article : Base de connaissances SiteAudit Installation et gestion du site Web de rapports dans cet article : Avril 2010 Présentation des fonctionnalités Installation de RWS Gestion des dossiers de rapport Accès

Plus en détail

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html TP : commande awk D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html Nous reprenons dans ce TP une grande partie du cours de Isabelle Vollant en simplifiant quelques informations.

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

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Exécuter PHP en CLI. Table des matières 1. Introduction...2 2. Premier programme...2 3. Exécution en CLI...4 4. Les arguments...5

Exécuter PHP en CLI. Table des matières 1. Introduction...2 2. Premier programme...2 3. Exécution en CLI...4 4. Les arguments...5 Exécuter PHP en CLI Table des matières 1. Introduction...2 2. Premier programme...2 3. Exécution en CLI...4 4. Les arguments...5 PHP est un langage simple, puissant et modulaire qui peut s exécuter à partir

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

Acronis Backup & Recovery 11

Acronis Backup & Recovery 11 Acronis Backup & Recovery 11 Guide de démarrage rapide S'applique aux éditions suivantes : Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Serveur pour Linux Serveur pour

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

Projet EvaluationsEleves/Professeurs

Projet EvaluationsEleves/Professeurs Projet EvaluationsEleves/Professeurs Ce projet Java comporte les objectifs suivants: 1) Diagramme de classes 2) Développer de l'application en mode console avec un jeu de tests fourni 3) Lecture des notes/eleves/professeurs

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

Mise à jour de BlackBerry Device Software via le réseau sans fil

Mise à jour de BlackBerry Device Software via le réseau sans fil Préambule : Ce document présente comment mettre à jour la version logicielle de l OS déployé et contrôlé depuis le serveur BES. Cette procédure est tirée du Guide de Mise à jour du BlackBerry Device Software

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

Multitenant : Créer et Configurer une. Pluggable Database (PDB) avec Oracle Database 12c Release 1 (12.1)

Multitenant : Créer et Configurer une. Pluggable Database (PDB) avec Oracle Database 12c Release 1 (12.1) Multitenant : Créer et Configurer une Pluggable Database (PDB) avec Oracle Database 12c Release 1 (12.1) L'option multitenant introduite avec Oracle Database 12c permet à un seul conteneur database (CDB)

Plus en détail

L utilisation d outils intelligents pour écrire du code valide

L utilisation d outils intelligents pour écrire du code valide B L utilisation d outils intelligents pour écrire du code valide Toutes les méthodes de développement, sans exception, incluent au moins une étape de test du code. C est parce que le code écrit par la

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM Manuel d'utilisation OPTIMALOG 2008 Table des matières I Table des matières Part I Gestionnaire d'alarmes Optim'Alarm

Plus en détail

ISLOG Logon Tools Manuel utilisateur

ISLOG Logon Tools Manuel utilisateur ISLOG Logon Tools Manuel utilisateur Document révision 02 Copyright 2013 ISLOG Network. Tout droit réservé. Historique de version Date Auteur Description Document Version 23/08/13 F Godinho Version initiale

Plus en détail

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres),

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), Terminologie ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), RUBRIQUE : contenant d'articles et/ou de rubriques

Plus en détail

Guide d'installation de Citrix EdgeSight pour test de charge. Citrix EdgeSight pour test de charge 3.8

Guide d'installation de Citrix EdgeSight pour test de charge. Citrix EdgeSight pour test de charge 3.8 Guide d'installation de Citrix EdgeSight pour test de charge Citrix EdgeSight pour test de charge 3.8 Copyright L'utilisation du produit documenté dans ce guide est soumise à l'acceptation préalable du

Plus en détail

Capture Pro Software. Démarrage. A-61640_fr

Capture Pro Software. Démarrage. A-61640_fr Capture Pro Software Démarrage A-61640_fr Prise en main de Kodak Capture Pro Software et de Capture Pro Limited Edition Installation du logiciel : Kodak Capture Pro Software et Network Edition... 1 Installation

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

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US Introduction Pourquoi utiliser DEL.ICIO.US? Cet outil permet à plusieurs personnes de partager la même liste de sites favoris et ce sur n importe

Plus en détail

Client Citrix ICA Windows CE Carte de référence rapide

Client Citrix ICA Windows CE Carte de référence rapide Client Citrix ICA Windows CE Carte de référence rapide Exigences Pour exécuter le client ICA Windows CE, vous devez disposer des éléments suivants : Un périphérique Windows CE Une carte d'interface réseau

Plus en détail

Guide de l administrateur de rubriques du site communal d ORCHAISE

Guide de l administrateur de rubriques du site communal d ORCHAISE Guide de l administrateur de rubriques du site communal d ORCHAISE Sommaire Comment est organisé le site?... 1 Comment accéder à l interface privée?... 2 Comment se connecter?... 2 Comment modifier son

Plus en détail

CRÉER DES PROCÉDURES FUNCTION

CRÉER DES PROCÉDURES FUNCTION 1 CRÉER DES PROCÉDURES FUNCTION Dans ce chapitre La différence entre les procédures Sub et Function Comment créer des fonctions personnalisées? À propos des fonctions et des arguments Quelques exemples

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

ACCUEIL...2 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12 ACCEPTER OU A REFUSER LE DEVIS...13

ACCUEIL...2 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12 ACCEPTER OU A REFUSER LE DEVIS...13 ACCUEIL...2 LA COMMANDE...3 ONGLET "NATURE DES TRAVAUX"...3 ONGLET INFORMATIONS...8 ONGLET RECAPITULATIF...9 LA COMMANDE SIMPLE A VALIDER PAR LES ACHETEURS...10 LA DEMANDE DE DEVIS...11 COMPLETER UN DEVIS...12

Plus en détail

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Chapitre 2 Accès aux partages depuis votre système d'exploitation Chapitre 2 Accès aux partages depuis votre système d'exploitation Ce chapitre présente des exemples d'accès à des partages sur le périphérique ReadyNAS Duo via différents systèmes d'exploitation. En cas

Plus en détail

STATISTICA Réseau Concurrent (licences flottantes) : Instructions d'installation pour une Utilisation sous Terminal Server et Citrix (Version 8)

STATISTICA Réseau Concurrent (licences flottantes) : Instructions d'installation pour une Utilisation sous Terminal Server et Citrix (Version 8) STATISTICA Réseau Concurrent (licences flottantes) : Instructions d'installation pour une Utilisation sous Terminal Server et Citrix (Version 8) Remarques : 1. Ces instructions s'appliquent à une installation

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

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

Personnaliser et adapter SPIP Développeur SPIP

Personnaliser et adapter SPIP Développeur SPIP Personnaliser et adapter SPIP Développeur SPIP En Théorie Le fonctionnement de SPIP Qu est ce que SPIP? SPIP (Système de Publication pour l Internet Partagé) est un logiciel libre destiné à la production

Plus en détail

Framework Symfony. (Une introduction) Nicolas de Rugy-Altherre Sylvain Perifel Cristina Sirangelo. L3 Université Paris Diderot

Framework Symfony. (Une introduction) Nicolas de Rugy-Altherre Sylvain Perifel Cristina Sirangelo. L3 Université Paris Diderot Framework Symfony (Une introduction) Nicolas de Rugy-Altherre Sylvain Perifel Cristina Sirangelo L3 Université Paris Diderot Introduction Symfony : framework côté serveur basé sur PHP Intérêts : structuration

Plus en détail

TP C# Prise en main : interface graphique, animation

TP C# Prise en main : interface graphique, animation TP C# Prise en main : interface graphique, animation 1. Hello World! Description : Vous allez construire une application graphique dotée d un unique bouton qui affiche le message «Hello World!» lorsque

Plus en détail

MANGUE Impression de données

MANGUE Impression de données MANGUE Impression de données 0. Préambule 1. Principe de Fonctionnement 2. Description des fichiers XML générés 2.1 DescriptionImpression.XML 2.2 Fichier XML généré 2.3 Exemples complets de balise et résultat

Plus en détail

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Tony Galmiche le 28 février 2011 (modifiée alb) Sommaire 1 - Accès au portail de l'application GED...3

Plus en détail

CakePHP. Référence: http://book.cakephp.org/. CakePHP. Framework Open Source de développement pour PHP

CakePHP. Référence: http://book.cakephp.org/. CakePHP. Framework Open Source de développement pour PHP CakePHP Référence: http://book.cakephp.org/. Introduction à CakePHP 1 CakePHP Framework Open Source de développement pour PHP Environnement de développement rapide d'applications (RAD sur le web. Supporte

Plus en détail

À propos de Kobo Desktop... 4. Télécharger et installer Kobo Desktop... 6

À propos de Kobo Desktop... 4. Télécharger et installer Kobo Desktop... 6 Kobo Desktop Manuel d utilisation Table des matières À propos de Kobo Desktop... 4 Télécharger et installer Kobo Desktop... 6 Installer Kobo Desktop pour Windows... 6 Installer Kobo Desktop pour Mac...

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

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Ftp : H:\Mes Documents\ecole\cours\Os_sept_02\commandes Ftp.doc

Ftp : H:\Mes Documents\ecole\cours\Os_sept_02\commandes Ftp.doc Ftp : Transfère les fichiers de/vers un système utilisant un service serveur FTP (parfois appelé daemon ou démon). Ftp peut être utilisée de manière interactive. Cette commande est disponible uniquement

Plus en détail

Windows Installer pour XenClient Enterprise Engine

Windows Installer pour XenClient Enterprise Engine Windows Installer pour XenClient Enterprise Engine Version 5.0 12 août 2013 Table des matières À propos de ce guide...3 À propos de Windows Installer pour le logiciel Engine...3 Remarques importantes...

Plus en détail

COURS 6 Adopter un style de programmation clair

COURS 6 Adopter un style de programmation clair COURS 6 Adopter un style de programmation clair Lorsque votre site prend de l'importance, le code devient vite illisible et incompréhensible si vous ne pensez pas à l'organiser. Mais comment organiser

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

TecLocal 4.0. Manuel d'installation: Mode acheteur & multiutilisateurs

TecLocal 4.0. Manuel d'installation: Mode acheteur & multiutilisateurs Tec Local 4.0 Manuel d'installation : Mode acheteur & multi-utilisateurs (client) TecLocal 4.0 Manuel d'installation: Mode acheteur & multiutilisateurs (client) Version: 1.0 Auteur: TecCom Solution Management

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO) LDAP Mise en place Introduction Limitation et Sécurité Déclarer un serveur MySQL dans l annuaire LDAP Associer un utilisateur DiaClientSQL à son compte Windows (SSO) Créer les collaborateurs DiaClientSQL

Plus en détail

Cours 420-KEG-LG, Gestion de réseaux et support technique. Laboratoire 05

Cours 420-KEG-LG, Gestion de réseaux et support technique. Laboratoire 05 Laboratoire 05 Rappel: Structure de base d'un domaine Vous pouvez voir la structure de base de votre domaine en utilisant l outil «Utilisateurs et ordinateurs d Active Directory». On trouve cette console

Plus en détail

Leçon N 5 PICASA Généralités

Leçon N 5 PICASA Généralités Leçon N 5 PICASA Généralités Avec cette leçon N 5, nous allons commencer l étude du traitement de vos photos avec le logiciel de GOOGLE, PICASA, que vous avez téléchargé dans la leçon N 3. 1 Présentation

Plus en détail

Online Help StruxureWare Data Center Expert

Online Help StruxureWare Data Center Expert Online Help StruxureWare Data Center Expert Version 7.2.7 Système virtuel StruxureWare Data Center Expert Le serveur StruxureWare Data Center Expert 7.2 est disponible comme système virtuel pris en charge

Plus en détail

INSTALLATION D'UN SERVEUR FTP, DEFINITION D'UN NOM DE DOMAINE

INSTALLATION D'UN SERVEUR FTP, DEFINITION D'UN NOM DE DOMAINE INSTALLATION D'UN SERVEUR FTP, DEFINITION D'UN NOM DE DOMAINE Table des matières i Objetcif :...2 ii Ma configuration :... 2 iii Méthodologie... 2 1 Votre mode de connexion à internet...3 1.1 Vous ne savez

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

Prise de contrôle à distance de PC

Prise de contrôle à distance de PC Prise de contrôle à distance de PC VNC = Virtual Network Computing Il sagit de prendre très facilement le contrôle d'un PC à distance en utilisant un programme performant. Par exemple, si vous souhaitez

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Initiation aux bases de données et à la programmation événementielle

Initiation aux bases de données et à la programmation événementielle Initiation aux bases de données et à la programmation événementielle Cours N 6 : VBA sous ACCESS Souheib BAARIR. Page web : http://pagesperso-systeme.lip6.fr/souheib.baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur.

1. Faire Démarrer, Paramètres, Panneau de configuration, Outils d administration, Gestion de l ordinateur. TP PERSONNALISER SON POSTE DE TRAVAIL LES COMPTES, LES GROUPES C'EST QUOI? Les comptes et les groupes permettent de gérer plus facilement l administration d une machine. Il semble assez logique que sur

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Installation. Installation de MonitorMagic. Configuration requise. Introduction. Package logiciel MonitorMagic

Installation. Installation de MonitorMagic. Configuration requise. Introduction. Package logiciel MonitorMagic Installation de MonitorMagic Introduction Installer MonitorMagic est une procédure simple et directe. Quand vous disposez du logiciel,cela va vous prendre seulement 15 minutes pour complètement installer

Plus en détail

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version 8.05.22

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version 8.05.22 Services bancaires par Internet aux entreprises Guide pratique pour : Rapports de solde Version 8.05.22 Table des matières Avez-vous besoin d aide?... 3 Exigences informatiques... 4 Navigateurs acceptés...

Plus en détail