BACKEND MODULE. La valeur par défaut est _DISPATCH mais on peut utilise un autre script exemple :

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

Download "BACKEND MODULE. La valeur par défaut est _DISPATCH mais on peut utilise un autre script exemple :"

Transcription

1 BACKEND MODULE Auteur : Philippe Leblond Compagnie : Sys-Tech ( Référence obligatoire pour les backend module : conf.php Accès : $MCONF['access']='user,group,admin'; Valeur possible : user : utilisateur (On pourra mettre des permissions sur les utilisateur qui auront accès à ce module) group : groupe (On pourra mettre des permissions sur les groupes utilisateur qui auront accès à ce module) admin : administrateur (Les administrateurs auront accès à ce module) Script à utiliser : $MCONF['script']='_DISPATCH'; //appelera par défaut index.php La valeur par défaut est _DISPATCH mais on peut utilise un autre script exemple : $MCONF['script']='allo.php'; //non recommandé Icone du module backend : $MCONF['default']['tabs_images']['tab']='moduleicon.gif'; Module de traduction pour les termes généraux relié au backend : $MCONF['default']['11_ref']='LLL:EXT:st_kitchen/mod1/locallang_mod.php'; Workspace permission : $MCONF['workspaces'] = online,offline,custom ; Valeur possible : online : Permet en mode live offline : Permit en mode draft custom : Permit dans les workspace personnonalisé

2 Localisation global $LANG $LANG->getLL('function1') Menu fonction Pour ajouter des menus : function menuconfig() { global $LANG; $this->mod_menu = Array ( 'function' => Array ( '1' => $LANG->getLL('function1'), '2' => $LANG->getLL('function2'), '3' => $LANG->getLL('function3'), ) ); parent::menuconfig(); Pour récupérer le numéro du menu contextuel : $this->mod_settings['function']

3 TYPO3 Core Engine (TCE) Le TYPO3 core engine permet d'exécuter des commandes et faire des requêtes SQL sans avoir à écrire des longues lignes de code php et des requêtes SQL. De plus il prend en compte tous les paramètres et permission par défaut de TYPO3. Il y a donc moins de chance de se tromper en utilisant le TCE que faire nous même nos requêtes SQL. Documentation : 3/3/ Data : (création ou modification) Syntaxe pour une modification : $data[ tablename ][ uid ][ fieldname ] = value Exemple pour une création : $data['pages']['new9823be87'] = array( "title" => "The page title", "subtitle" => "Other title stuff", "pid" => "45" ); Soumission d'une data $tce = t3lib_div::makeinstance('t3lib_tcemain'); $tce->stripslashes_values = 0; $tce->start($data,array()); $tce->process_datamap(); Pour récuper le id d'un nouvel enregistrement : $tce->substnewwithids[$id]; Cmd : (delete,move,copy) Syntaxe pour une supression : $cmd[table][uid][commande] = valeur; Exemple pour une suppression : $cmd['pages'][66]['delete'] = 1; Soumission d'une commande : $tce = t3lib_div::makeinstance('t3lib_tcemain');

4 $tce->stripslashes_values=0; $tce->start(array(),$cmd); $tce->process_cmdmap();

5 Création de lien et le TCE Méthode editonclick Création d'un lien pour éditer une table du TCA : //Éditer la page ayant comme uid 66 $params='&edit[pages][66]=edit'; $link = '<a href="#" onclick="'.htmlspecialchars(t3lib_befunc::editonclick($params)).'">edit</a>'; //Éditer le titre de la page ayant comme uid 66 $params='&edit[pages][66]=edit&columnsonly=title'; $link = '<a href="#" onclick="'.htmlspecialchars(t3lib_befunc::editonclick($params)).'">edit</a>'; Création d'un lien pour créer un nouvel enregistrement dans une table : //Créer une page sous la page ayant comme uid 33 $params = '&edit[pages][33]=new&defvals[pages][title]=newelement&defvals[pages][subtitle]=newelement2'; $content.= '<a href="#" onclick="'.htmlspecialchars(t3lib_befunc::editonclick($params,$globals['back_path'])).'">'. 'Create new page inside page 33</a><br/>';

6 Méthode tce_db.php et alt_doc.php tce_db.php : SC_tce_db Class Reference Ce fichier TYPO3 permet d'exécuter des cmd et datamap. Document : /view/3/3/ Syntaxe : // id : page du backend // $this->mconf['name'] : nom du module // $this->mod_settings['function'] : menu $returnurl="redirect=".$baseurl.urlencode("mod.php?id={$this->id&m={$this- >MCONF['name']&SET[function]={$this->MOD_SETTINGS['function']{$param"); $urlcomplete = "{$baseurltce_db.php?&cmd[{$table][{$uidrecord][delete]=1&{$returnurl"; alt_doc.php : SC_alt_doc Class Reference Permet de faire un rendu du TCA Syntaxe : // id : page du backend // $this->mconf['name'] : nom du module // $this->mod_settings['function'] : menu $returnurl="returnurl=".urlencode("mod.php?id={$this->id&m={$this- >MCONF['name']&SET[function]={$this->MOD_SETTINGS['function']{$param"); $editrecord = "edit[{$table][{$uidrecord]=edit"; $urlcomplete = "{$baseurlalt_doc.php?{$returnurl&{$editrecord";

7 Voici 2 fonctions pratiques pour les backend modules : /* * cmd : EDIT,NEW,DELETE */ function geturlcmdrecord($table,$uidrecord,$cmd='edit',$param=array()) { if (count($param)>0) { $param = '&'.implode('&',$param); $baseurl = t3lib_div::getindpenv(typo3_request_dir); $returnurl="returnurl=".urlencode("mod.php?id={$this->id&m={$this- >MCONF['name']&SET[function]={$this->MOD_SETTINGS['function']{$param"); if (strcasecmp('edit',$cmd)==0) { $editrecord = "edit[{$table][{$uidrecord]=edit"; $urlcomplete = "{$baseurlalt_doc.php?{$returnurl&{$editrecord"; elseif (strcasecmp('delete',$cmd)==0) { $returnurl="redirect=".$baseurl.urlencode("mod.php?id={$this->id&m={$this- >MCONF['name']&SET[function]={$this->MOD_SETTINGS['function']{$param"); $urlcomplete = "{$baseurltce_db.php?&cmd[{$table][{$uidrecord][delete]=1&{$returnurl"; else { $editrecord = "edit[{$table][{$this->id]=new"; $urlcomplete = "{$baseurlalt_doc.php?{$returnurl&{$editrecord"; return $urlcomplete;

8 /* * cmd : EDIT,NEW,DELETE */ function geticoncmd($table,$uidrecord,$cmd='edit',$param=array(),$width=16,$height=16,$addattribute='') { $baseurl = t3lib_div::getindpenv(typo3_request_dir); if (strcasecmp('delete',$cmd)==0) { $icon = '<a '.$addattribute.' href="'.$this- >geturlcmdrecord($table,$uidrecord,$cmd,$param).'"><img '.t3lib_iconworks::skinimg($baseurl,'sysext/t3skin/icons/gfx/garbage.gif').' width="'.$width.'" height="'.$height.'" alt="" /></a>'; if (strcasecmp('edit',$cmd)==0) { $icon = '<a '.$addattribute.' href="'.$this- >geturlcmdrecord($table,$uidrecord,$cmd,$param).'"><img '.t3lib_iconworks::skinimg($baseurl,'sysext/t3skin/icons/gfx/edit2.gif').' width="'.$width.'" height="'.$height.'" alt="" /></a>'; if (strcasecmp('new',$cmd)==0) { $icon = '<a '.$addattribute.' href="'.$this- >geturlcmdrecord($table,$uidrecord,$cmd,$param).'"><img '.t3lib_iconworks::skinimg($baseurl,'sysext/t3skin/icons/gfx/new_el.gif').' width="'.$width.'" height="'.$height.'" alt="" /></a>'; return $icon;

9 Simulation du frontend en backend Il arrive parfois d'avoir besoin des méthodes du TSFE pour avoir accès aux méthode de la librairie tslib_cobj. Avec la méthode suivante on peut avoir accès aux méthodes de template ainsi qu'à l'objet typolink pour faire des liens en backend. Cette méthode peut causer certain problème car on est pas dans un contexte de frontend. function get_tsfe($pid = 1) { require_once(path_site.'typo3/sysext/cms/tslib/class.tslib_fe.php'); require_once(path_site.'t3lib/class.t3lib_userauth.php'); require_once(path_site.'typo3/sysext/cms/tslib/class.tslib_feuserauth.php'); require_once(path_site.'t3lib/class.t3lib_cs.php'); require_once(path_site.'typo3/sysext/cms/tslib/class.tslib_content.php') ; require_once(path_site.'t3lib/class.t3lib_tstemplate.php'); require_once(path_site.'t3lib/class.t3lib_page.php'); require_once(path_site.'t3lib/class.t3lib_timetrack.php'); $TSFEclassName = t3lib_div::makeinstanceclassname('tslib_fe'); $GLOBALS['TSFE'] = new $TSFEclassName($GLOBALS['TYPO3_CONF_VARS'], $pid, '0', 0, '','','',''); $temp_ttclassname = t3lib_div::makeinstanceclassname('t3lib_timetrack'); $GLOBALS['TT'] = new $temp_ttclassname(); $GLOBALS['TT']->start(); $GLOBALS['TSFE']->config['config']['language']=$_GET['L']; $GLOBALS['TSFE']->id = $pid; $GLOBALS['TSFE']->connectToMySQL(); $sqldebug = $GLOBALS['TYPO3_DB']->debugOutput; $GLOBALS['TYPO3_DB']->debugOutput = false; $GLOBALS['TSFE']->initLLVars(); $GLOBALS['TSFE']->initFEuser(); $GLOBALS['TSFE']->sys_page = t3lib_div::makeinstance('t3lib_pageselect'); $GLOBALS['TSFE']->sys_page->init($GLOBALS['TSFE']->showHiddenPage); $page = $GLOBALS['TSFE']->sys_page->getPage($pid); if (count($page) == 0) { $GLOBALS['TYPO3_DB']->debugOutput = $sqldebug; return false;

10 if ($page['doktype']==4 && count($globals['tsfe']- >getpageshortcut($page['shortcut'],$page['shortcut_mode'],$page['uid'])) == 0) { $GLOBALS['TYPO3_DB']->debugOutput = $sqldebug; return false; if ($page['doktype'] == 199 $page['doktype'] == 254) { $GLOBALS['TYPO3_DB']->debugOutput = $sqldebug; return false; $GLOBALS['TSFE']->getPageAndRootline(); $GLOBALS['TSFE']->initTemplate(); $GLOBALS['TSFE']->forceTemplateParsing = 1; $GLOBALS['TSFE']->tmpl->start($GLOBALS['TSFE']->rootLine); $GLOBALS['TSFE']->sPre = $GLOBALS['TSFE']->tmpl- >setup['types.'][$globals['tsfe']->type]; // toplevel - objarrayname $GLOBALS['TSFE']->pSetup = $GLOBALS['TSFE']->tmpl- >setup[$globals['tsfe']->spre.'.']; if (!$GLOBALS['TSFE']->tmpl->loaded ($GLOBALS['TSFE']->tmpl->loaded &&!$GLOBALS['TSFE']->pSetup)) { $GLOBALS['TYPO3_DB']->debugOutput = $sqldebug; return false; $GLOBALS['TSFE']->getConfigArray(); //$GLOBALS['TSFE']->getCompressedTCarray(); $GLOBALS['TSFE']->inituserGroups(); $GLOBALS['TSFE']->connectToDB(); $GLOBALS['TSFE']->determineId(); return $GLOBALS['TSFE']->newCObj(); Avec cette fonction nous pouvons obtenir plusieurs fonctions relié exclusivement au frontend telque la fonction typolink, typolink_url et les fonctions de template. Pour initialiser le TSFE : $this->get_tsfe();

11 Pour l'utilisation des fonction frontend : url : $GLOBALS['TSFE']->cObj->typolink_url($link); $GLOBALS['TSFE']->cObj->typolink($link); Template : $html = "###TEST###<div>###REPLACE###</div>###TEST###"; $templatecomplete = $GLOBALS['TSFE']->cObj->getSubpart($html,"###TEST###"); $markerarray=array(); $subpartarray=array(); $wrappedsubpartarray=array(); $markerarray['###replace###'] = 'ceci est un test'; $content = $GLOBALS['TSFE']->cObj->substituteMarkerArrayCached($templateComplete, $markerarray,$subpartarray,$wrappedsubpartarray);

12 Hook TCEMain Hook pour les datas (lorsqu'on veux modifier ou créer un enregistrement): Dans le fichier ext_localconf.php : $GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/ class.t3lib_tcemain.php']['processdatamapclass'][] = 'EXT:keyextension/file.php:tx_class'; Dans le fichier file.php : // $status : update ou new // $table : table sur laquelle on fait l'opération // $id : reprsente le id de l'enregistrement (lors de la création d'un objet on doit utiliser la fonction $tce->substnewwithids[$id];) // $fieldarray : représente les champs qu'on crée ou modifie. Action à faire après l'enregistrement des données. function processdatamap_afterdatabaseoperations($status, $table, $id, $fieldarray, $tce) { // mettre son code ici Pour récuper le id d'un nouvel enregistrement : $tce->substnewwithids[$id]; Action à faire avant l'enregistrement des données. function processdatamap_preprocessfieldarray(&$incomingfieldarray, $table, $id, $tce) { // mettre son code ici Hook pour les cmd (lorsqu'on veux déplacé, copié ou supprimé un enregistrement) $GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/ class.t3lib_tcemain.php']['processcmdmapclass'][] = 'EXT:profweb_pratiques/ class.tx_profwebpratiques_tcemain.php:tx_profwebpratiques_tcemain'; // $command: delete, moce, copy, undelete // $table : table sur laquelle on fait l'opération // $id // $value : représente les champs qu'on crée ou modifie. function processcmdmap_preprocess($command, $table, $id, $value, $tce) { // mettre son code ici

13

14 Fonction backend et astuce Cache : Pour supprimer la cache d'une page on peut utiliser la fonction : $tce->clear_cachecmd exemple : require_once (PATH_t3lib."class.t3lib_tcemain.php"); $tce = t3lib_div::makeinstance("t3lib_tcemain"); $tce->clear_cachecmd($uidpage); t3lib_befunc : Pour obtenir les champs startime, endtime, hidden : t3lib_befunc::beenablefields('table'); Pour obtenir le champ deleted : t3lib_befunc::deleteclause('table'); t3lib_userauthgroup : Savoir si un utilisateur est administrateur ou pas : $GLOBALS['BE_USER']->isAdmin Permet d'obtenir les condition SQL pourr les permission d'une page sélectionner dans le backend $GLOBALS['BE_USER']->getPagePermsClause Pour savoir si un utilisateur appartient à un groupe : $GLOBALS['BE_USER']->isMemberOfGroup($idGroup) Autre : Connaitre le ID de la page où l'on se trouve dans le backend : $this->id

15 Création d'arbre dans le backend Technique 1 : require_once(path_t3lib.'../typo3/class.webpagetree.php'); $tree = t3lib_div::makeinstance('webpagetree'); $content.= $tree->getbrowsabletree(); Utiliser la fonction JumpTo en javascript pour identifier la bonne page. Technique 2 : require_once(path_t3lib.'class.t3lib_treeview.php'); $tree = t3lib_div::makeinstance('t3lib_treeview'); //initialise treeview $tree->init(); $tree->expandfirst =1; $tree->expandall = 1; $tree->mounts = array(1); $tree->table = 'pages'; $tree->clause = ''; //additionnal clause where (begin whith ' AND') $tree->orderbyfields = 'sorting'; debug($tree->tree); $content.=$tree->getbrowsabletree(); Utiliser la fonction JumpTo en javascript pour identifier la bonne page. Technique 3 (arbre statique) : require_once(path_t3lib.'class.t3lib_pagetree.php'); // Initialize starting point of page tree: $treestartingpoint = 1; $treestartingrecord = t3lib_befunc::getrecord('pages', $treestartingpoint); $depth = 2; // Initialize tree object: $tree = t3lib_div::makeinstance('t3lib_pagetree'); $tree->init('and '.$GLOBALS['BE_USER']->getPagePermsClause(1)); // Creating top icon; the current page $HTML = t3lib_iconworks::geticonimage('pages', $treestartingrecord, $GLOBALS['BACK_PATH'],'align="top"'); $tree->tree[] = array(

16 ); 'row' => $treestartingrecord, 'HTML'=>$HTML // Create the tree from starting point: $tree->gettree($treestartingpoint, $depth, ''); #debug($tree->tree); // Put together the tree HTML: $output = ' <tr bgcolor="#999999"> <td><b>icon / Title:</b></td> <td><b>page UID:</b></td> </tr> '; foreach($tree->tree as $data) { $output.=' <tr bgcolor="#cccccc"> <td nowrap="nowrap">'.$data['html'].htmlspecialchars($data['row']['title']).'</td> <td>'.htmlspecialchars($data['row']['uid']).'</td> </tr> '; $content.= '<table border="0" cellspacing="1" cellpadding="0">'.$output.'</table>';

17 CRON Pour n'importe quelle commande provenant du CLI, il faut faire passer la requête par le fichier typo3/cli_dispatch.phpsh. Celui-ci s'occupe d'initialiser l'environnement TYPO3 et de loader l'utilisateur backend requis. À noter qu'il est très important de créer un utilisateur backend et dont le nom d'utilisateur devra obligatoirement commencer par _CLI_. Dans l'exemple ci-dessous le nom de notre utilisateur backend est _CLI_st_extension ext_localconf.php : $TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']['st_extension'] = array('ext:st_extension/cli/class.tx_st_extension_cli.php','_cli_st_extension'); st_extension : représente le nom de notre cli st_extension : représente la clé unique de notre extension _CLI_st_extension : nom de l'utilisateur backend Code : <?php // Ce fichier est inclu à partir de typo3/cli_dispatch.phpsh if (!defined('typo3_climode')) die('you cannot run this script directly!'); require_once(path_t3lib. 'class.t3lib_cli.php'); class tx_st_extension_cli extends t3lib_cli { function tx_st_extension_cli() { // Make sure the this always calls the parent's constructor parent::t3lib_cli(); function main() { // Check arguments by looping through $this->cli_args! foreach($this->cli_args as $arg => $value) { // Do something function dosomething() { // Do something here return true;

18 // XCLASS Management if (defined('typo3_mode') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ st_extension/cli/tx_st_extension_cli.php']) include_once($typo3_conf_vars[typo3_mode]['xclass']['ext/st_extension/cli/ tx_st_extension_cli.php']); // Call the functionality $myobj = t3lib_div::makeinstance('tx_st_extension_cli'); $myobj->main(); $myobj->dosomething();?> Tous les arguments passés au script se retrouvent dans la variable membre $cli_args après que le constructeur de t3lib_cli ait été appelé. Plusieurs fonctions sont aussi disponibles pour gérer les arguments. Utiliser $SERVER["argv"] lorsque le paramètre $argv doit être spécifié. Il ne reste plus qu'à appeller le script de cette façon. Le premier argument est obligatoire. Ça doit être le keyname utilisé pour l'array $TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']. On peut ensuite passer tous les arguments qu'on veut. Note: Le binaire de php doit obligatoirement être /usr/bin/php. Utilisez un symlink si ce n'est pas le cas. /srv/www/vhosts/csrsdev.clients.sys-tech.net/typo3/cli_dispatch.phpsh st_extension

19 Interface de configuration d'une extension dans l'extension manager Créer dans le dossier de base de l'extension le fichier ext_conf_template.txt exemple de ext_conf_template.txt : # cat=basic; type=boolean; label= Titre de page titlepage = 1 # cat=basic; type=string; label= Code code = cat : cat correspond à la catégorie de la variable, les choix possibles sont : basic,menu,content,page,advanced. La plus utilisé est basic. On peut utiliser des sous-catégories pour ajouter des titres : enable dims file typo color links language Exemple de sous-catégorie : # cat=basic/enable; Les type possible : - boolean (case à cocher à la restitution) - int (entier) - int[0-3] (entier entre 0 à 3) - int+ (entier entre 0 et 10000) - color (choix de couleurr) - wrap (permet de mettre deux partie de code -> on récupère dans le code la "partie gauche partie droite") - options[option1,option2,option3,...] (Affiche une select box avec les valeurs définies entre []) - file (pas testé) - string : champ text

20 quelques exemple : # cat=basic; type=options[label9,test2]; label=test variablename9=test2 # cat=basic/file; type=file[html,jpg]; label=label11 variablename11= # cat=basic; type=int[0-3]; label = 0 a 3 debug = 0 # cat=basic; type=string; label=label2 variablename2 = 123 # cat=basic; type=boolean; label=label1:mettre ici la description description variablename1 = 1 Label : représenter un libellé à afficher. Exploitation des variables Maintenant il suffit de récupérer les variables dans le plugin pour pouvoir les utiliser, on procède de cette manière : global $TYPO3_CONF_VARS; $variable=$typo3_conf_vars["ext"]["extconf"]["nom_extension"]; Ceci nous renvoi dans $variable le tableau sérialisé des variables de configuration. Il suffit de désérialiser ce tableau comme ceci : $variable=unserialize($variable); Ensuite on peut accéder au valeur des variable puisque l'index de $variable est le nom mis dans le fichier ext_conf_template.txt exemple : echo $variable["titlepage"];

21 TCA exemple de la fonction itemsprocfunc : Permet de modifier la valeur d'un select 'category' => array ( 'exclude' => 0, 'label' => 'test', 'config' => array ( 'type' => 'select', 'foreign_table' => 'tx_stkitchen_category', 'foreign_table_where' => 'ORDER BY tx_stkitchen_category.uid', "itemsprocfunc" => "user_getgenreitems", 'size' => 5, 'minitems' => 0, 'maxitems' => 5, ) ), function user_getgenreitems(&$config, &$item) { $config['items'][2] = array('label0',201); return $config; Exemple de la fonction userfunc : Permet de créer un champ sur mesure "category" => Array ( "label" => "test", 'config' => Array ( 'type' => 'user', 'userfunc' => 'user_getgenreitems', ), ), function user_getgenreitems($pa, $fobj) { //reponse dans $PA['row']['category'] $content = '<select name="data[tx_stkitchen_recipe][3][category]"><option value="1">1</option><option value="2">2</option></select>'; return $content; IRRE

22 'test' => Array( 'exclude' => 1, 'label' => 'test', 'config' => Array( 'type' => 'inline', 'foreign_table' => 'fe_groups', 'maxitems' => 10, 'appearance' => Array( 'collapseall' => 1, 'expandsingle' => 1, ), ), ), Fichier : 'file' => array ( 'exclude' => 0, 'label' => 'LLL:EXT:bbb/locallang_db.xml:tx_bbb_bbb.file', 'config' => array ( 'type' => 'group', 'internal_type' => 'file', 'allowed' => 'gif,png,jpeg,jpg', 'max_size' => $GLOBALS['TYPO3_CONF_VARS']['BE']['maxFileSize'], 'uploadfolder' => 'uploads/tx_bbb', 'size' => 1, 'minitems' => 0, 'maxitems' => 1, ) ), Lien : 'link' => array ( 'exclude' => 0, 'label' => 'LLL:EXT:bbb/locallang_db.xml:tx_bbb_bbb.link', 'config' => array ( 'type' => 'input', 'size' => '15', 'max' => '255', 'checkbox' => '', 'eval' => 'trim', 'wizards' => array( '_PADDING' => 2, 'link' => array( 'type' => 'popup',

23 ), ) ) ) 'title' => 'Link', 'icon' => 'link_popup.gif', 'script' => 'browse_links.php?mode=wizard', 'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1' Méthode utilisé pour récuper notre lien de la BD : $url = htmlspecialchars($link); $name = explode(' ', $url); $content = $this->cobj->gettypolink('titre du url', $url);

24 AJAX Coté serveur : Dans le fichier ext_localconf.php $TYPO3_CONF_VARS['BE']['AJAX']['tx_myext::ajaxID'] = 'filename:object->method'; exemple : $TYPO3_CONF_VARS['BE']['AJAX']['SC_alt_db_navframe::expandCollapse'] = 'typo3/ alt_db_navframe.php:sc_alt_db_navframe->ajaxexpandcollapse'; alt_db_navframe.php : public function ajaxexpandcollapse($params, &$ajaxobj) { $this->init(); // do the logic... if (empty($this->tree)) { $ajaxobj->seterror('an error occurred'); else { // the content is an array that can be set through $key / $value pairs as parameter $ajaxobj->addcontent('tree', 'The tree works...'); Coté client : $this->doc->loadjavascriptlib('contrib/prototype/prototype.js'); $this->doc->loadjavascriptlib('js/common.js'); new Ajax.Request('ajax.php', { method: 'get', parameters: 'ajaxid=sc_alt_db_navframe::expandcollapse', oncomplete: function(xhr, json) { // display results, should be "The tree works".bind(this), ont3error: function(xhr, json) { // display error message, will be "An error occurred" if an error occurred.bind(this) );

25 Versioning et workspace Documentation : 3/2/ view/3/7/ view/ (En allemand) Stage de la version : Editing : Le contenu peut être éditer librement. Reviewer : Le contenu doit être approuver avant d'être publier. Le contenu ne peut être modifier à moins d'avoir les droits de reviewer. Publish : Le contenu peut être publier. Le contenu ne peut être modifer tant et aussi longtemp que le contenu n'a pas été publié officiellement. Seul les membre ayant les droits d'éditer en mode live peuvent changer le contenu. Pour cela il faut avoir les droits sur le "Live workspace" Reject : Le contenu a été rejeter et peut être éditer à nouveau. Toute personne ayant les droit sur le workspace a le droit d'éditer un contenu et passer au mode reviewer. Type de versionning : Element : Versionning sur les enregistrements Page : Versionning sur les pages Branch : Versionning sur copy, deplacé des branches complète de page (page et sous page) Workspace avec templavoila Lorsqu'on crée un nouvel élément dans le workspace nous créons un élément vide qui aura comme label "INITIAL PLACEHOLDER" et un nouvel élément sera créé et aura dans le champ t3ver_oid le uid du premier élément créé. Lorsqu'on modifie un élément de contenu dans le workspace il y aura un nouvel élément de créer avec t3ver_label="auto-created for WS 1" aura dans le champ t3ver_oid le uid de l'élément en ligne. Lorsqu'on supprime un élément de contenu en fait c'est comme si on avait une nouvelle révision de la page car l'élément de contenu était entrer dans la table pages.

26 Champ dans la base de donnée : t3ver_oid : uid de la version originale t3ver_id : le nieme nombre associer a la page original (incrementiel) pid : -1 pour les versions hots ligne. t3ver_wsid : id du workspace t3ver_label : Description sur la version t3ver_stage : id du stage t3ver_state : 2 version supprimé, 1 nouvel élément, 3 élément déplacé, 4 are move-to pointer elements t3ver_count : Nombre de fois qu'un element a été en ligne t3ver_tstamp : date de publication de la version t3ver_move_id : Contient la source id de l'enregistrement qui doit être déplacé Stage statut : stage reject = -1 stage editing = 0 stage review = 1 stage publish = 10 Différence entre swap et publish : Dans les 2 cas nous allons publié la version en ligne. La différence fondamentale est que lorsqu'on utilise swap, la version hors ligne ira en ligne alors que la version live revient en mode hors-ligne alors que si l'on utilise publish alors la version hors ligne ira en ligne et la version en ligne ira dans les archives. Swap sera souvent utilisé pour un événement pontuel et que l'on veut plus tard revenir avec notre ancienne version. On refera un swap à nouveau. versionol Lorsqu'on selectionne un enregistrement basé sur le uid alors pour qu'on obtienne le bon resultat en mode preview il est important d'utiliser la fonction $GLOBALS['TSFE']->sys_page- >versionol('table',$row); versionol transformera le uid avec le bon uid en mode preview. Frontend : $GLOBALS['TSFE']->sys_page->versionOL($table,&$row, $unsetmovepointers=false) Backend : t3lib_befunc::workspaceol ($table, &$row) exemple :

27 $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tt_content', "uid='80'",'','',''); $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res); $GLOBALS['TSFE']->sys_page->versionOL('tt_content',$row,false); if (is_array($row)) { $content = "<br/>content header = {$row['header']"; uid en mode live : 80 uid en mode preview : est le uid en mode live mais en mode preview le uid devrait etre 82 pour notre exemple. versionol va transformer notre $row avec les bons paramètres. Notre tableau devra contenir les valeur suivant pour être fonctionnel : "uid", "pid" and "t3ver_state" fixversioningpid Lorsque nous sommes en mode preview et que l'on choisit un uid qui a comme pid -1 alors on utilise la fonction fixversioningpid pour obtenir le pid de la page correspondante. Frontend : $GLOBALS['TSFE']->sys_page->fixVersioningPid(table,$row); Backend : t3lib_befunc::fixversioningpid(table,$row);

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

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

Service d'authentification LDAP et SSO avec CAS

Service d'authentification LDAP et SSO avec CAS Service d'authentification LDAP et SSO avec CAS Clé de l'extension : ig_ldap_sso_auth 2006-2007, Michaël Gagnon, Ce document est publié sous la licence open source, disponible au

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

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

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Nuxeo 5.4 : les nouveautés

Nuxeo 5.4 : les nouveautés Atelier GED - 30 mars 2011, Paris Consortium ESUP-Portail Nuxeo.conf et templates Depuis la version 5.3.2, nouvelle façon de configurer Nuxeo à l'aide du fichier nuxeo.conf et des templates. Les templates

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution

Plus en détail

Drupal Développeur. Theming et développement pour Drupal. Une formation T@hitiClic. Formateur : Fabien Crépin. Drupal Développeur.

Drupal Développeur. Theming et développement pour Drupal. Une formation T@hitiClic. Formateur : Fabien Crépin. Drupal Développeur. Theming et développement pour Drupal Une formation Formateur : Fabien Crépin Introduction Objectif : savoir développer un module et un thème 4 demi-journées Ce qu'on verra en théorie et en pratique : Environnement

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

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

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2) Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Microsoft Document Connection pour Mac. Microsoft Document Connection

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

SQL Server et Active Directory

SQL Server et Active Directory SQL Server et Active Directory Comment requêter AD depuis SQL Server Comment exécuter des requêtes de sélection sur un Active Directory depuis SQL Server? L'utilisation du principe des serveurs liés adapté

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

AWS avancé. Surveiller votre utilisation d EC2

AWS avancé. Surveiller votre utilisation d EC2 10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation

Plus en détail

Tutoriel TYPO3 pour les rédacteurs

Tutoriel TYPO3 pour les rédacteurs Tutoriel TYPO3 pour les rédacteurs - typo3_tut_fr Tutoriel TYPO3 pour les rédacteurs Tutoriel TYPO3 pour les rédacteurs Clé de l'extension: typo3_tut_fr Langue: fr Mots-clés: foreditors, forbeginners,

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

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

INTRODUCTION AU CMS MODX

INTRODUCTION AU CMS MODX INTRODUCTION AU CMS MODX Introduction 1. Créer 2. Organiser 3. Personnaliser UNE PETITE INTRODUCTION QUEST-CE QU UN CMS? CMS est l acronyme de Content Management System. C est outil qui vous permet de

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Connexion à 4D Server depuis une page ASP Par Noreddine MARGOUM, Technicien Contrôle Qualité, 4D S.A. Note technique 4D-200403-08-FR Version 1 Date 1 Mars 2004 Résumé Le propos de cette note technique

Plus en détail

Formulaire pour envoyer un mail

Formulaire pour envoyer un mail Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est

Plus en détail

Gestion Electronique de Document (ECM/GED)

Gestion Electronique de Document (ECM/GED) Gestion Electronique de Document (ECM/GED) Analyse de l existant Découpage modulaire La gestion électronique de documents repose sur un ensemble de deux modules conjoints, au sein de la famille «ecm» :

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION. laurent.renault@u-picardie.fr

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION. laurent.renault@u-picardie.fr REMBO Version 2.0 Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION Description Successeur de BPBatch 3 déclinaisons Rembo Auto Deploy (déploiement massif de clients) Rembo Auto Backup (restauration

Plus en détail

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4 PLUGINS Guide du Développeur STEPHANE FERRARI P l u X m l 5.4 Table des matières Présentation de PluXml...5 Principales caractéristiques...5 Pré-requis...6 Procédure d'installation...6 Procédure de mise

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Guide d'installation et de configuration du module

Guide d'installation et de configuration du module sur Guide d'installation et de configuration du module Développement : ruy007 et Quadra Team Documentation : VR... 27 janvier 2010 1. Récupérer la extension key du module Le lien vers l'extension est :

Plus en détail

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Premiers pas avec WinPT (cryptographie sous Win) EITIC

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Premiers pas avec WinPT (cryptographie sous Win) EITIC Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT Premiers pas avec WinPT (cryptographie sous Win) EITIC Logiciel : WinPT site : http://www.winpt.org/ Niveau : Débutant Auteur : EITIC

Plus en détail

Connaître la version de SharePoint installée

Connaître la version de SharePoint installée Connaître la version de SharePoint installée Comment savoir la version de SharePoint en cours Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître les versions

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 Sage CRM NOTICE The information contained in this document is believed to be accurate in all respects but

Plus en détail

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site: MANUEL WORDPRESS Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site: A/ Traitement de la base de données: Pour cette étape, vous aurez besoin au préalable

Plus en détail

Module pour la solution e-commerce Magento

Module pour la solution e-commerce Magento Module pour la solution e-commerce Magento sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Liste des documents de référence... 3 1.3. Avertissement... 3 1.4. Contacts... 3 1.5. Historique

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

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

TDB-SSI LES EXTENSIONS

TDB-SSI LES EXTENSIONS TDB-SSI LES EXTENSIONS U n i v e r s i t é d e l a M é d i t e r r a n é e F a c u l t é d e M é d e c i n e Projet TDB-SSI Documentation du Tableau de Bord de Sécurité des Systèmes d Information Marseille,

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Création de Sous-Formulaires

Création de Sous-Formulaires Création de Sous-Formulaires Révision 1.01 du 02/01/04 Réalisé avec : OOo 1.1.0 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3 2 Pré-requis...3

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Introduction aux outils BI de SQL Server 2014. Tutoriel sur SQL Server Integration Services (SSIS)

Introduction aux outils BI de SQL Server 2014. Tutoriel sur SQL Server Integration Services (SSIS) MIT820: Entrepôts de données et intelligence artificielle Introduction aux outils BI de SQL Server 2014 Tutoriel sur SQL Server Integration Services (SSIS) Description générale Ce tutoriel a pour objectif

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Sécurité des applications web. Daniel Boteanu

Sécurité des applications web. Daniel Boteanu I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce

Plus en détail

Micro-ordinateurs, informations, idées, trucs et astuces. Utiliser une caméra IP Trendnet IP-TV110. Auteur : François CHAUSSON

Micro-ordinateurs, informations, idées, trucs et astuces. Utiliser une caméra IP Trendnet IP-TV110. Auteur : François CHAUSSON Micro-ordinateurs, informations, idées, trucs et astuces Utiliser une caméra IP Trendnet IP-TV110 Auteur : François CHAUSSON Date : 8 février 2012 Référence : utiliser une caméra IP Trendnet IP-TV110.doc

Plus en détail

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14 Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

Rapport de Mini-Projet en ArcGIS Engine Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation

Plus en détail

Chapitre 5 : Les procédures stockées PL/SQL

Chapitre 5 : Les procédures stockées PL/SQL I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Guide d'installation rapide TFM-560X YO.13

Guide d'installation rapide TFM-560X YO.13 Guide d'installation rapide TFM-560X YO.13 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 Troubleshooting 6 Version 06.08.2011 16. Select Install the software automatically

Plus en détail

Les déclencheurs. Version 1.0. Grégory CASANOVA

Les déclencheurs. Version 1.0. Grégory CASANOVA Les déclencheurs Version 1.0 Grégory CASANOVA 2 Les déclencheurs [09/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les déclencheurs du DML... 5 3.1 Introduction... 5 3.2 Création d un déclencheur

Plus en détail

VTP. LAN Switching and Wireless Chapitre 4

VTP. LAN Switching and Wireless Chapitre 4 VTP LAN Switching and Wireless Chapitre 4 ITE I Chapter 6 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Pourquoi VTP? Le défi de la gestion VLAN La complexité de gestion des VLANs et des

Plus en détail

Edition de sites Jahia 6.6

Edition de sites Jahia 6.6 Sommaire Edition de sites Jahia 6.6 documentation temporaire en attendant la finalisation de la documentation en ligne Ligne graphique Débuter l'édition Interface utilisateur Astuces de publication Boîte

Plus en détail

DOM - Document Object Model

DOM - Document Object Model DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et

Plus en détail

Eyes Of Network 4.0. Documentation d installation et de configuration

Eyes Of Network 4.0. Documentation d installation et de configuration Eyes Of Network 4.0 Documentation d installation et de configuration Document crée par Sallaud Jérémy Le 19/02/2014 Sommaire Système Informations... 4 Synthèse des logiciels intégrés... 4 Configuration

Plus en détail

WDpStats Procédure d installation

WDpStats Procédure d installation WDpStats Procédure d installation Table de matières WDpStats... 1 Procédure d installation... 1 Table de matières... 1 Résumé... 2 Réquisits... 2 Installation... 2 Difficultés... 6 Lancement... 7 wdpstats_install_oracle_fr.xml

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise Possibilités : Gestion des rendez-vous/appels Gestion des e-mails Gestion des stocks Gestion des ventes Enregistrement des

Plus en détail

CREATION d UN SITE WEB (INTRODUCTION)

CREATION d UN SITE WEB (INTRODUCTION) CREATION d UN SITE WEB (INTRODUCTION) Environnement : World Wide Web : ordinateurs interconnectés pour l échange d informations ( de données) Langages : HTML (HyperText Markup Language) : langages pour

Plus en détail

Installation locale de JOOMLA SEPIA

Installation locale de JOOMLA SEPIA FOAD TICE Installation locale de JOOMLA SEPIA Académie de Reims FRANÇOIS PALLUT Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

KPI (Key Performance Indicator) dans MOSS

KPI (Key Performance Indicator) dans MOSS KPI (Key Performance Indicator) dans MOSS Introduction Un KPI (Key Performance Indicator), Indicateur de Performance ou Indicateur Clé est un concept permettant de présenter à un utilisateur une information

Plus en détail

8 Mars 2011. Guide du Wiki Confluence

8 Mars 2011. Guide du Wiki Confluence Guide du Wiki Confluence 8 Mars 2011 Guide du Wiki Confluence Guide de Confluence Wiki Table des matières 1. Welcome... Error! Bookmark not defined. 2. Frequently Asked Questions (FAQ)... 1 2.1 What is

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Guide utilisateur : Directmail et newsletter

Guide utilisateur : Directmail et newsletter Guide utilisateur : Directmail et newsletter Copyright 2004, OneXt Content System, 29/03/2005 Tables des Matières Directmail et newsletter...1 Fonctionnement général...1 Modules et pages...1

Plus en détail

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires. Installation & Configuration GPLPI / OCS Inventory NG Installer sur Debian 5 Lenny, Liaison Active Directory, Mise en place du couple OCS/GLPI Par : POMENTE Guillaume OCS Inventory et GLPI sont deux outils

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

équipement radio Procédure

équipement radio Procédure 07/03/2014 GLPI / Inventaire équipement radio Procédure Anthony MANDRON SDIS 21 Table des matières Procédure d installation de GLPI sur une Debian Wheezy :... 2 Mise en place du plugin «Generic Object

Plus en détail