Architecture des fichiers

ilune_fr > Contao - Typolight > Découverte de Contao > Architecture des fichiers

Racine (/)

/

Root => front end

/System

Fichiers system, seulement inclus

/Plugins

Plugins system => Elements d'auteurs différents (comme utiliataires flash etc)

/Templates

Fichier .tpl qui sont analysés, et priment sur le dossier template de /system. Dans le cas de la construction de votre propre template, c'est ici qu'il faut le placer.

/tl_files

Fichiers accessibles au front end (img etc)

/typolight

Interface administration (back end)

/contao Depuis la mise à jour de typolight vers Contao, nouvelle emplacement de l'interface administration qui reprend les fichiers présents dans typolight.



/System

/config

Liste de fichiers php inclus contenant les tableaux de configuration $GLOBALS['TL_CONFIG'],$GLOBALS['TL_DCA']... A noter que la modification de ces options dans le cadre d'un module doit se faire dans le répertoire dudit module.

/drivers

Fichiers de drivers de connexion aux bdd et fichiers de drivers pour les DCA.

A noter que un système transactSQL est implémenté.

Chacune des classe hérite des classes abstraite database, Database_Result, DataBase_Statement (/system/libraries/database.php)

/html

Sert à stocker les fichiers temporaires accessibles via http (ex: les images redimensionnées par Controller->getImage() ) (merci à Olivier)

/libraries

Fichiers clés du système. (voir diagramme UML Libraries)

Les bibliothèques sont utilisées pour abstraire certaines tâches comme la communication avec la base de donnée, les opérations sur les fichiers (SMH), la récupération sécurisée des entrées utilisateurs, l'envoi d'e-mails, le calcul des dates, etc.

/logs

Dossiers où sont enregistrés les logs erreurs, alertes Etc.

/modules

Dossier dans lequel sont enregistrés les modules qui sont chargés au démarage du système. A noter que backend et frontend sont des modules.

/themes

Themes de backend

/tmp

sert à stocker les fichiers temporaires sensibles dont l'accès est interdit en http (merci à Olivier)

Constants.php

Listes de constantes de choix systèmes...

Initialize.php

Initialisation du system, inclusions config, fonctions, et déclarations constantes, et création des objets d'environnement de types singleton

Functions.php

Contient de nombreuses fonctions diverses et variées

  • __autoload($strClassName) : scan les répertoires « /system/libraries/ », « /system/modules/ », vérifie que ce n'est pas un appel de « swiftmailer » ou « dompdf » (deux plugins)

  • __error($intType, $strMessage, $strFile, $intLine) : Capture des erreurs system

  • show_help_message() : Indique qu'une erreur est survenue

  • log_message($strMessage, $strLog='error.log') : enregistre dans un fichier une ligne log (fichier présent dans /system/logs/)

  • diverses fonctions de manipulations de tableaux et de chars

  • fonctions de remplacements des MBSTRING (manipulations chaines de caractères UTF8)

Interface.php

Déclarations de trois interfaces

  • listable

  • editable

  • uploadable (vide)

Mbstring.php

Liste de Fonctions si mbstring n'est pas installé sur le system



/plugins

Divers éléments externes ajoutés à typolight

/Calendar

Calendrier JS (+ CSS)

Copyright (c) 2007 Aeron Glemann <http://electricprism.com/aeron>, MIT Style License.

/FancyUpload

FancyUpload is a file-input replacement which features an unobtrusive, multiple-file selection menu and queued upload with an animated progress bar. It is easy to setup, is server independent, completely styleable via CSS and XHTML and uses MooTools to work in all modern browsers.

FancyUpload, MIT License, Harald Kirschner <http://digitarald.de>

/highlighter

Permet de formater l'affichage de code grâce au javascript

Copyright (C) 2004-2009 Alex Gorbatchev.
http://alexgorbatchev.com/

/idna

IDNA Convert

DNA Convert allows you to convert domain names between the encoded Punycode notation and the decoded 8bit (UTF-8) notation.

Punycode (littéralement «code chétif») est une syntaxe de codage simple définie dans la RFC 3492 et conçue pour être utilisée en adéquation avec les noms de domaines internationalisés dans les applications les supportant

(c) 2004-2008 phlyLabs, Berlin
Version 0.6.3
phlymail@phlylabs.de
http://idnaconv.phlymail.de

/simplepie

Gestionnaire de flux RSS (utilise et inclus IDNA Convert)

version 1.1.3
Copyright (c) 2004-2008, Ryan Parman and Geoffrey Sneddon

/mootools

MooTools est un outil compact et modulaire,un framework JavaScript orienté objet conçu pour les développeurs JavaScript intermédiaire à avancé. Une API qui vous permet d'écrire du code élégant puissant, flexible et multi-navigateur, bien documenté et cohérent.

MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools.
Copyright (c) 2006-2009 Valerio Proietti,
<http://mad4milk.net>, MIT Style License

/mediabox

Sur la base de Lightbox, Slimbox, et la librairie javascript Mootools, mediaboxAdvanced est une superposition modale qui peut traiter des images, des vidéos, des animations, des sites de vidéo sociale, des médias Liens Twitter, inline-éléments, et des pages externes en toute simplicité.

Voir http://iaian7.com/webcode/mediaboxAdvanced

 

mediaboxAdvanced v1.2.0, updated 2010.01.24,
(c) 2007-2009 John Einselen <http://iaian7.com>
based on Slimbox v1.64, (c) 2007-2008 Christophe Beyls <http://www.digitalia.be>
customized for TYPOlight

/slimbox

Slimbox 2 is a 4 KB visual clone of the popular Lightbox 2 script by Lokesh Dhakar, written using the jQuery library. It was designed to be very small, efficient, standards-friendly, fully customizable, more convenient and 100% compatible with the original Lightbox 2.

==>Affiche des galeries d'images en flash

Est utilisé par médiabox

Slimbox v1.7 - The ultimate lightweight Lightbox clone (c) 2007-2009 Christophe Beyls <http://www.digitalia.be> MIT-style license.

/swiftmailer

Outil de gestion des mails

Homepage: http://swiftmailer.org

Documentation: http://swiftmailer.org/docs

Mailing List: http://groups.google.com/group/swiftmailer

Bugs: http://swiftmailer.lighthouseapp.com/

Repository: http://github.com/swiftmailer/swiftmailer

by Chris Corbyn
It is released under the LGPL license.

/tablesort

Script javascript pour trier dynamiquement les tables

Provide methods to sort tables using the mootools framework keeping the TYPOlight class names intact.

copyright Leo Feyer 2005-2010
license LGPL

/TCPDF

TCPDF is a PHP class for generating PDF files on-the-fly without requiring external extensions.

TCPDF has been originally derived from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org).

 

Name: TCPDF
Version: 4.8.009
Release date: 2009-09-30
Author: Nicola Asuni
Copyright (c) 2001-2009:
Nicola Asuni
Tecnick.com s.r.l.
Via Della Pace, 11
09044 Quartucciu (CA)
ITALY
www.tecnick.com
URLs:
http://www.tcpdf.org
http://www.sourceforge.net/projects/tcpdf

/tinyMCE

TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other Content Management Systems.

LGPL
http://tinymce.moxiecode.com/license.php

/system/config

/config.php

Tableau des variables de typolight

$GLOBALS['TL_CONFIG']

/localconfig.php

Tableau de variables locales ecrasant config.php

/contries.php

Tableau des pays en deux lettres (pour balises META)

/languages.php

Tableau des langues en deux lettres (pour balises META)

/dcaconfig.php

Tableau de modification des « data_container » en cas de personalisation (fichier vide)

$GLOBALS['TL_DCA']['tl_article']['config']['doNotCopyRecords'] = true;

/fancyupload.php

Tableau javascript/php de configuration du plugin FancyUpload

/initconfig.php

Fichier hook pour lancer d'autres requetes d'initialisation

Here you can add custom initialization routines that are executed on every back end and front end request.

/langconfig.php

Écrasement de paramètres de langue insérés définis ailleurs

/tcpdf.php

Définition des constantes de configuration nécessaires à TCPF

This is the TCPDF (PDF generator) configuration file. See plugins/tcpdf for more information.

/timezones.php

Définition des zones de temps internationales

/tinyflash.php

Configuration tinyFlash (tinyMCE configuration pour flash content)=> javacript + php

/tinymce.php

Configuration de tinyMCE => javascript + PHP

/tinynews

Configuration de tinynews....




  Cet article est sous licence LGPL, vous pouvez le modifier, le copier et le publier, mais en signalant son auteur d'origine. ( http://www.ilune.fr )