Kweb V 6 Dossier du Développeur KWEB

Documents pareils
SYSTÈMES D INFORMATIONS

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

ISPConfig Documentation

TP JAVASCRIPT OMI4 TP5 SRC

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

PHP 5.4 Développez un site web dynamique et interactif

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

Manuel du composant CKForms Version 1.3.2

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Stockage du fichier dans une table mysql:

Utilisation de GalaxShare

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

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

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

Module de livraison DPD Magento

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

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

INFORM :: DEMARRAGE RAPIDE A service by KIS

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Formation Webmaster : Création de site Web Initiation + Approfondissement

Rapport journalier. Le stage va se découper en 2 parties : 3 premières semaines :

Modules ICI relais & EXAPAQ Predict v4.0

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Nouveautés joomla 3 1/14

Nouveautés de Drupal 8. Léon

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Le front office (utilisateur client):

SQL Server et Active Directory

contact@nqicorp.com - Web :

Hébergement de site web Damien Nouvel

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur

Installation locale de JOOMLA SEPIA

Maarch V1.4

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Tutoriel pour la création d'un Google Sites

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

Vulnérabilités et sécurisation des applications Web

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

MESVISITEURSPRO.COM. TUTO : Comment intégrer Google Analytics à mon site?

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

SARL DDLX Multimédia Place du général de Gaule Boisseron Tèl : support@ddlx.org. Agence Web. Design Prestashop personnalisé

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Dans l'article précédent, vous avez appris

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Tutoriel TYPO3 pour les rédacteurs

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

Formation : WEbMaster

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Module pour la solution e-commerce Magento

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Module BD et sites WEB

PLATEFORME DE GESTION DE CONGRÈS SCIENTIFIQUES. 12 mars 2015

Documentation de conception

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Documentation module hosting

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Application de lecture de carte SESAM-Vitale Jeebop

TP Service HTTP Serveur Apache Linux Debian

TelSurvey Système CATI pour LimeSurvey 11 novembre Manuel administrateur

Authentification et contrôle d'accès dans les applications web

Comment créer un site web Proxy gratuitement!

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

ISPConfig Documentation

DESCRIPTION DU PLUGIN D AUTHENTIFICATION AVEC CAS POUR SPIP

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Manuel d'utilisation: Gestion commerciale - CRM

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

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

Guide d implémentation. Réussir l intégration de Systempay

CASE-LINUX MAIL - ROUNDCUBE

BIRT (Business Intelligence and Reporting Tools)

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

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

Mise en service HORUS version HTTP

Manuel d utilisation du site web de l ONRN

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

Fonctionnement général de Tiny ERP

Clauses d'hébergement web

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Guide d'installation et de configuration du module

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

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

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Groupe Eyrolles, 2003, ISBN : X

OpenOffice Base Gestionnaire de Base de Données

Module SIPS/ATOS pour Prestashop

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

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Auguria_PCM Product & Combination Manager

FAIRE UN PAIEMENT TIPI

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

Transcription:

Kweb V 6 Dossier du Développeur KWEB Nouvelle arborescence des fichiers et dossiers : Rouge : Indispensable au moteur. Vert : Configurable et indispensable au moteur. Bleu : Entièrement modifiable home (dossier contenant les uploads des administrateurs) app config (Chemin de l'application / Accés base de données) kwinnov (kernel du moteur) libraries (librairies secondaires du moteur) mods (modules pour le site web) views (contient l'ensemble des thèmes possibles) share (Indispensable au moteur, partage d'éléments à tous les thèmes) kweb (Indispensable au moteur, permet la creation et l'administration des pages contenues dans les différents thèmes Librairie PHP : Dossier : /apps/libraries Contexte : Une librairie PHP peut être utilisé par n'importe quel module. Utilisation : L'appel d'une librairie dans un module se fait par son nom de classe ex : $fpdf = new FPDF(); Il est nul besoin de faire un «require sur le fichier» Création : La création d'une librairie nécessite le respect d'une règle : La création d'un dossier du nom de la librairie, une classe du même nom (extension du fichier.class.php) ex : mkdir /lib/malib touch Malib.class.php Contenu de Malib.class.php : <?php class Malib // Votre contenu }?> Il est important de respecter le même nom pour le dossier, le fichier et le nom de classe.

Modules PHP : <?php Dossier : /mods/ Contexte : Un module peut être appelé 1 ou plusieurs fois sur 1 ou plusieurs pages. Utilisation : Cf : L'interface Kweb Création (ex de création de MonMod) : La création d'un module nécessite le respect de plusieurs régles : La création d'un dossier du nom du module dans /mods/monmod/ La création d'une classe dans ce dossier du type : MonMod.class.php L'ajout dans la table kweb_module de ce module. Le respect de règles au sein de la classe MonMod.class.php : class MonMod var $tpl_front ='nom_module/tpl/'; var $tpl_back ='nom_module/tpl/backoffice/'; function construct() $this->tpl_front = MODSPATH.$this->tpl_front; $this->tpl_back = MODSPATH.$this->tpl_back; } function MaFonc() // On assigne une valeur a la variable smarty 'key' $this->tpl->tassign('key','value'); // On récupére le contenu de notre template $html = $this->tpl->tfetch('nom_fichier.tpl'); } // on retourne le contenu du fichier template return $html; function configure_module($module_rows) $module_option = unserialize($module_rows['pmoption']); $this->tpl->tassign('module_option',$module_option); $opt_tpl_back = $this->list_dir_option($module_option['tpl_affich_update'], $this->tpl_back,array('tpl'=>1)); $opt_tpl_front = $this->list_dir_option($module_option['tpl_affich'],$this- >tpl_front,array('tpl'=>1)) ; $this->tpl->tassign('opt_tpl_back',$opt_tpl_back); $this->tpl->tassign('opt_tpl_front',$opt_tpl_front); if(file_exists('targetfile.tpl')) $html = $this->tpl->tfetch('targetfile.tpl'); else $html = 'Fichier de configuration inexistant : targetfile.tpl'; } return $html;

// Actions effectué sur la suppression d'une liaison module / page function OnDelete($rows,$module_page_id) return true; } // Actions effectué sur la Mise à jour d'une liaison module / page function OnUpdate($post,$module_page_id) return $post['module_option']; } }; // Actions effectué sur l'ajout d'une liaison module / page function OnAdd($post,$rows,$module_page_id) return $post; }?>

Librairies partagées graphique : Dossier : /views/share/lib/ Contexte : Une librairie graphique peut être utilisé par n'importe quel module. Utilisation : L'appel d'une librairie graphique dans un module se fait par son nom ex au sein d'un module : $this->component->get_lib('ckeditor','lib_content_itfc'); On appel la librairie ckeditor et on lui dit de s'afficher dans la variable Smarty 'lib_content_itfc' elle même situé dans le fichier header.tpl au sein de votre thème. Différentes options: prototype : Get_lib($lib,$target,$var_tpl=null,$tpl_name=null,$recharged=false) la fonction prend deux paramètres obligatoires, ainsi que trois facultatifs, -$lib(obligatoire) : la librairie a charger -$target(obligatoire) : la variable servant a afficher le composant graphique -$var_tpl(facultatif) : tableau de valeur a envoyé en smarty(vide par défaut) -$tpl_name(facultatif) : nom du fichier template contenant l'affichage du module(vide par défaut, dans ce cas le template serait de la forme comp_ckeditor.tpl) -$recharged(facultatif) : booléen spécifiant s'il faut recharger la librairie ou non. Création (ex de création de Malib) : La création d'une librairie graphique nécessite le respect de plusieurs régles : La création d'un dossier du nom de la librairie dans /views/share/lib/malib/ La création d'un composant Smarty dans ce dossier. Nomage : comp_malib.tpl Le reste des éléments contenu dans le dossier de la librairie et le contenu du fichier tpl est a définir par vous même.!important : la variable 'already_charged' nous indique si la librairie en question a déjà été chargée.

Le Kernel : Voici la liste des classes du Kernel et leur méthodes : Component.class.php Définition : La classe Component function Get_lib : - Charge une librairie (nécessaire pour pouvoir utiliser celle ci) function AddPageForm : - Ajoute un formulaire (bouton submit...) Controller.class.php Définition : La classe Controller function LoadModule : - Charge un module (nécessaire pour pouvoir utiliser celui ci) function List_dir_option : - Ajoute une liste de fichier template a une liste déroulante function Assoc_File : - Upload de fichiers simple function Assoc_Image : - Upload d'images simple function Assoc_Flv : - Upload de FLV simple function Assoc_Files : - Upload & Ajout de multiples fichiers function Assoc_Images : - Upload & Ajout de multiples images function Assoc_Flvs : - Upload & Ajout de multiples Flvs function Get_Assoc_Image : - Récupére les infos sur une image function Get_Assoc_Images : - Récupére les infos sur toutes les images function Del_Assoc_Image : - Supprime une association Image

Exceptions.class.php Définition : La classe Exceptions function Php_Fatal_errors : - Information D'erreur fatale + avertissement par mail function Php_errors : - Gestion des codes d'erreurs. Forms.class.php Définition : La classe Forms function CreateForm : - Crée l'entête ainsi que le pied du formulaire function AddSubmit : - Ajoute un bouton de validation au formulaire Framework.class.php Définition : La classe Framework function KillWord : - Suppression des caractères spéciaux de word.. en cours function Ckeditor_Img : function Resize_dyn_Img : function shorten : function supp_htmltag : - Supprime les TAG Html d'un texte function WithoutSsDir : - Supprime les chemin relatifs function GestDate : - Gestion des dates

function MakeVarForUrl : - Transforme un texte, en une variable d'url valide function MakeUrlGmaps : - Retourne une url encodée et utilisable par GoogleMap function url_as_array : - Gestion de l'url function calc_age : - Calcul un âge en fonction d'une date. function NameAlea : - Génére une chaine de caractére aléatoire function CleanAppleDouble : - Envoi les Numeros de page ainsi que page precedente et page suivante dans les listes Lang.class.php Définition : La classe Lang function GetLang : - Récupère la langue de l'application function AssignText : function GetText : - Récupère le texte relatif au nom de label ainsi qu'à la langue function Ext_Get_Lbl : - Récupère le texte relatif un module ainsi qu'à la langue function Ext_Get_Lbls : - Récupère la liste des textes relatifs à la langue function Ext_Update_Lbl : Modifie le texte relatif un module ainsi qu'à la langue function Ext_Delete_Lbl : - Supprime le texte relatif un module ainsi qu'à la langue function Ext_Insert_Lbl : Ajoute un texte relatif un module ainsi qu'à la langue Page.class.php Définition : La classe Page (contient les définitions des variables smarty, ex:

$images_dir} dans la méthode GetPage()) function ParseUri : - Mise en forme de la requete HTTP function SecureGlobalArray : - Sécurisation des tableaux de données globaux function PageRedirect : - Redirection de page function GetPage : - Demande d'envoi de page + Initialisation des variables Smarty function InitTpl : Initialisation des paramètres Smarty function SendTAssign : - Initialisation des variables Smarty function OutputPage : - Affiche la page function DefaultPage : - Envoi sur la page par défaut function LoadModules : - Charges tous les modules function LoadModule : - Charge un module function GetModule : - Récupère les méthodes d'un module function Maintenance : - Informe que le site est en maintenance function SecureForm : Sécurité pour éviter les floods de formulaire function LoadCssFile : Charge les CSS function LoadJsFile : Charge les JS function IncRecursive : Charge dynamiquement les fichiers function GetCondition : - Gestion d'une condition function GetHeader : - function GetFooter : -

PdoE.class.php Définition : La classe PdoE permet de gérer l'accès à la base de données. function construct : - Définit les parametres de connexion a la base de données function exec : - Exécute une requête sql function query : - Execute une requête sql et récupère le résultat(requête de type select) function ExitSql : - Quitte sql et en informe par mail function GetRow : - Retourne l'entrée courrante function GetRows : - Retourne un tableau de valeur correspondant au résultat d'une requête function Paginate : - Retourne un tableau contenant des informations sur la pagination des résultats d'une requête en fonction de paramètres(nombre d'éléments par pages...) Template.class.php Définition : La classe Template function configure_smarty_tpl_dir : - Définit le repertoire des templates function configure_smarty_cpl_dir : - Définit le repertoire des templates compilés function configure_smarty_cfg_dir : - Définit le repertoire des fichiers de config des templates function configure_smarty_plg_dir : Définit le repertoire des plugins Smarty function configure_smarty_cach_dir : - Définit le repertoire de cache des templates function Tcache : - function Tdisplay : - Affiche un template

function Tfetch : - Parcours un template function register_func : - Enregistre une fonction au fonctionnement de smarty function Tassign : - Assigne une variable php Users.class.php Définition : La classe Users function TestUser : - Test si l'utilisateur est connecté function Connect : - Gere la connexion d'un utilisateur à son espace function Get_user_group : - Récupére les groupes dont a acces l'utilisateur function Get_user_access : - Resort les interface et pages et autres dont les utilisateurs ont accès function Get_Group_Access : - Resort les interface et pages et autres dont les groupes ont accès function LogoutUser : - Déconnecter l'utilisateur function Ext_Add_user : - Ajoute un utilisateur dans la bdd function Ext_Edit_user : - Modifie les informations relatives a un utilisateur function Ext_Del_user : - Supprime un utilisateur function Ext_create_login_alea : - Génère un login aléatoire function Ext_test_login_exists : - Test si le login existe dans la bdd function Ext_Get_User : - Récupère un nom utilisateur

Astuces / FAQ : Comment créer un fichier PHP en «dur» sans lancer la gestion des urls, mais avoir accès aux fonctionnalités du moteur? Rien de plus simple, lors de l'instanciation du moteur une variable permet de ne pas gérer l'url ex : => withoutpagebdd.php Mais comment le moteur fonctionne à la base pour gérer les Urls? Un fichier.htaccess renvoi toutes les requêtes qui ne peuvent aboutir (404) vers le fichier index.php à la base du site.

Base de données : Dossier : / Contexte : Une requête auprès de la BDD peut-être effectuée dans n'importe quel module. Utilisation : On utilise les méthodes de la classe PdoE pour effectuer une requête : ex au sein d'un module : $this->db->exec('requête'); Inutile d'instancier la classe PdoE(appel a 'new'), en effet elle l'aura été lors de l'initialisation du moteur. Les tables : Il existe deux types de tables: - tables nécessaires au fonctionnement du moteur (préfixé par 'kweb_') kweb_config : Configuration du moteur (variables globales) kweb_files_assoc : Association entre fichiers kweb_historique : Historique des actions effectuées sur le site (ajout, suppression...) kweb_interface : Liste des interfaces kweb_languages : Liste des textes selon les langues kweb_lang_dispo : Liste des langues disponibles supportées kweb_link_module : Permet de lier les modules aux interfaces ainsi qu'aux pages kweb_moderate : Informations relatives aux validations par modérateur kweb_module : Liste des modules utilisables sur le site kweb_page : Liste des pages utilisables sur le site kweb_page_interface : Informations relatives aux pages et leurs interfaces kweb_page_redirection : Informations de redirection des pages kweb_user : Informations relatives aux utilisateurs kweb_user_access : Informations relatives aux accès utilisateurs kweb_user_group : Informations relatives aux groupes - tables relatives à un module en particulier (préfixé par 'mod_') mods_formulaires_form : Liste des formulaires crées + informations relatives (titre, sujet...) mods_forumulaires_question :

Contient les informations relatives aux types ainsi qu'aux labels des différents champs. mods_gmap_complex : Liste des markers + coordonnées mods_gmaps_geocodes : Liste des adresses répertoriées + coordonnées mods_liste_element : Liste des éléments du module liste_element mods_menu : Liste des menus mods_menu_item : Liste des élément de chaque menu mods_texte_contenu : Liste des textes du module d'affichage de contenu

Variables Smarty utilisable : 'page_titre' : titre de la page 'page_descr' : description de la page 'share_lib' : chemin des librairies partagées 'lang_dispo' : liste des langues disponibles 'nb_lang_dispo' : nombre de langue disponibles 'lang_admin_default' : langue de la zone administrative par défaut 'css_commun' : css partagé 'js_commun' : js partagé 'header' : en-tête de page 'footer' : pied de page 'this_mod_dir' : repertoire du module courant 'flux_rss' : flux rss 'interface' : nom de l'interface courante 'base_path' : répertoire racine 'theme' : thème courant 'page' : page courante 'page_full_url' : url de la page 'images_dir' : répertoire des images 'page_master_tpl' : template principal d'affichage 'doctype_1' : doctype modèle numéro 1 'doctype_2' : doctype modèle numéro 2 'meta_favicon' : favicon du site