IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Architecture d'un site ?


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut [PHP-JS] Architecture d'un site ?
    Bonjour,

    Je travaille actuelement sur un gros projet et le nombre de dossier et fichier augmente régulièrement. On en arrive à un point où l'on se rend compte que la strcuture choisi n'est pas forcément la meilleur. En effet, lorsqu'on crée un fichier, il n'est aps toujours évident de déterminer où il doit être stocker tant la structure n'est pas suffisament bien ordonée.

    Je me demandais si vous pouviez partager avec moi des lien ou vos propres méthode de structuration des fichiers dans des projets de plus ou moins grande taille. Séparation des fichiers concernant le graphisme, les pages de bases, les fichiers utilitaires etc...

    J'en profites aussi pour vous demander votre définition d'un dossier include et d'un dossier librairie et d'un dossier package. Quels types de fichiers chacun doit il contenir, leur role et position les uns par rapport aux autres.

    En vous remerciant vraiment.

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Bien sûr, c'est exact qu'il est très long de se faire ses petites routines ... Personnelement, je m'en suis fait à force de travailler sur PunBB, qui est extrement rapide.

    Donc comme architecture, voila mes besoin :
    1. Output-Buffering, pour les performances et l'url-rewriting
    2. Le fichier de modèle (dit 'template')
    3. Il ne faut pas que je m'embête avec la base de données, que ce soit facilement volatile d'une base à l'autre ou que ce soit pour la sécurité
    4. Le design et le moteur doivent bien être séparés
    5. Le design tout en css, de toutes façons


    Personnelement, mes routines en sont à :
    header.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    // Verifying that nobody attempts to directly run this script
    // Verifions que personne n'essayes d'executer ce script directement
    if (!defined('ROOT'))
    	exit;
     
    // Loading functions
    // Chargeons les fonctions
    require ROOT.'include/functions.php';
     
    // Inversons l'effet de register globals
    // Invert register globals effect
    if (@ini_get('register_globals'))
    	unregister_globals();
    // Including our configuration
    // On inclus notre configuration
    @include ROOT.'config.php';
     
    // On s'assure que PHP rapporte toutes les erreurs sauf E_NOTICE, parce que beaucoup de scripts ne le supportent pas
    // Make sure PHP reports all errors except E_NOTICE. PunBB supports E_ALL, but a lot of scripts it may interact with, do not.
    error_reporting(E_ALL ^ E_NOTICE);
     
    // Desactivation du magic quotes
    // Turn off magic_quotes_runtime
    set_magic_quotes_runtime(0);
     
    // Retirons les slashes de GET/POST/COOKIE si magic_quotes_gpc est activée
    // Strip slashes from GET/POST/COOKIE (if magic_quotes_gpc is enabled)
    if (get_magic_quotes_gpc())
    {
    	function stripslashes_array($array)
    	{
    		return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
    	}
    	$_GET = stripslashes_array($_GET);
    	$_POST = stripslashes_array($_POST);
    	$_COOKIE = stripslashes_array($_COOKIE);
    }
    // Générateur de nombres aléatoires
    // Seed the random number generator
    mt_srand((double)microtime()*1000000);
     
    // Charge la classe de la base de données et connection
    // Load DB abstraction layer and connect
    require ROOT.'include/dblayer/common_db.php';
    $db->start_transaction();
     
    // Cookies de PunBB
    // PunBB Cookies
    $pun_user = array();
     
    // Informons que nous ne voulons pas de mise en cache
    // Send no-cache headers
    header('Expires: Thu, 21 Jul 1977 07:30:00 GMT');	// When yours truly first set eyes on this world! :)
    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header('Cache-Control: post-check=0, pre-check=0', false);
    header('Pragma: no-cache');		// For HTTP/1.0 compability
     
    // Chargeons le template (modele)
    // Loads the template
    $tpl_main = file_get_contents(ROOT.'style/templates/main.tpl');
     
    // Nullifions $page_title par principe
    // Nullifying $page_title
    $page_title= NULL;
     
    // Utile pour l'url-rewriting
    // Usefull for url-rewriting
    $t_replace = array(' ');
    $t_with = array('-');
     
    // Démarrons la mise en tampon de la page_title
    // Start output bufferisation
    ob_start();
    footer.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    if (!defined('ROOT') || !defined('HEADER'))
    	exit;
     
    // START SUBST - <menu>
    ob_start();
    ?>
    salut je suis le code du menu, généré mais utilisant <? echo $mon_lien ?> puisqu'en utilisant l'output buffering par php, cela ne réduit pas les performances et permet une bonne séparation entre design et le 'moteur'
    <?php
    $tpl_temp = trim(ob_get_contents());
    $tpl_main = str_replace('<menu>', $tpl_temp, $tpl_main);
    ob_end_clean();
    // END SUBST - <menu>
     
    // START SUBST - <header>
    ob_start();
    ?>
    pour mes en tetes supplémentaire
    <?php
    $tpl_temp = trim(ob_get_contents());
    $tpl_main = str_replace('<header>', $tpl_temp, $tpl_main);
    ob_end_clean();
    // END SUBST - <footer>
     
    // START SUBST - <title>
    $tpl_temp = (!is_null($page_title))?$page_title:"titre par défault";
    $tpl_main = str_replace('<title>', $tpl_temp, $tpl_main);
    // END SUBST - <title>
     
    // START SUBST - <base>
    $tpl_temp = ""; 
    // je génère ma base, pour plus de confort avec
    //l'url rewriting et les dossiers virtuels
    $tpl_main = str_replace('<base>', $tpl_temp, $tpl_main);
    // END SUBST - <base>
     
    // End the transaction
    $db->end_transaction();
     
    // Display executed queries (if enabled)
    if (defined('PUN_SHOW_QUERIES'))
    	display_saved_queries();
    // Display executed queries (if enabled)
    if (defined('PUN_SHOW_QUERIES'))
    	display_saved_queries();
     
    // Close the db connection (and free up any result data)
    $db->close();
    // Spit out the page
    exit($tpl_main);
    Pour config.php, c'est très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    $db_type = 'mysql';
    $db_host = 'localhost';
    $db_name = '...';
    $db_username = '..';
    $db_password = '...';
    $db_prefix = 'prefix_';
    $p_connect = false;
     
    define('PUN', 1);
    Et pour les bases de données, j'utilise ce code puisqu'il permet une adaptation vraimment facile si on veut changer de système de bases de données...

    Enfin, le fameux style/templates/main.tpl, simple aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
    <head>
    	<base href="<base>" />
    	<title><pun_title></title>
    	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    	<link rel="stylesheet" type="text/css" href="style.css" />
    	<header>
    </head>
    <body>
     
    <div id="outer">	
    	<div id="right">
    		<main>
    	</div>
    	<div id="left">
    		<menu>
    	</div>
    </div>
    </body>
    </html>
    Si j'ai besoin d'authentification, de cookies ou autres, je me sers des morceaux de code de PunBB qui sont très bien.

    D'ailleurs, exemple de requête avec cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res = $db->query("CLAUSE quelquonque CLAUSE monchamps='".$db->escape($_POST['ma variable enquelle je ne me fie pas'])."';");
    while ($data = $db->fetch_assoc($res))
    Pour ajouter une nouvelle page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    define('ROOT', './');
    require ROOT.'header.php';
    ?>
    		<h1>Mitnick sneezes, breaks into Pentagon</h1>
    		<div class="htimeauth">26:00 | 03/17/2006 | <a href="#">author</a></div>
    		<p>I'm not very creative, so I stole my favorite news headline from OWD/OSWD user antipop's extent template</p>
    		<blockquote><p>This morning a source close to the celebrated hacker <a href="http://en.wikipedia.org/wiki/Kevin_Mitnick">Kevin Mitnick</a> reported that he might be coming down with a bad cold. The source said the cold was so bad that when he sneezed he suddenly had root on the Pentagon's computers.</p></blockquote>
    		<p>For those of us who have followed Kevin's hacking career we already knew he was s00p3r 31337 but this proves it.</p>
    <?php
    require ROOT.'footer.php';
    Evidemment, ça parait très simple comme ça, mais c'est une excellente base pour moi.
    J'en suis à me faire un CMS que j'améliore pour chaque client ...

    En espérant vous avoir rendu service.
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Tout d'abord merci d'avoir pris le temps de répondre, et surtout aussi clairement.
    Je vais étudier tout ce que tu viens d'écrire et voir ce que je peux en tirer.
    Puis-je pousser le bouchon un peu plus loin et te demander un vrai exemple d'arborescence de tes fichiers et le role des differents dossier, les types de fichiers qu'ils contiennent ?

    Je te remercie encore, j'invite d'autre personne à partager leur méthode.
    Merci beaucoup.

  4. #4
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Bien sûr :
    /img : images de contenu
    /style : mes css et templates
    /style/img : les images requises par le css
    /include : mes fonctions
    /include/dblayer : mes fichiers de ma classe de base de données préférée
    /js : mes javascripts
    /lang/French : mes fichiers de language français
    /lang/English : mes fichiers de language anglais
    / : le reste, c'est-à-dire header.php, footer.php et mes pages, j'utilise beaucoup l'url-rewriting ainsi que les bases de données

    Mais je peux vous conseiller de regarder les structures des CMS open-source populaires, généralement codés par des programmeurs très talentueux.

    J'avais oublié de préciser dans mon post précédent, la technique que j'emploie lorsque je développe un site multi-lingue, tel que mon site personnel (jamespic.com/jamespic.fr). Il s'agit simplement de définir un language dnas une variable de session (en l'occurrence, selon le tld).

    Ce qui donne donc, dans mes pages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    define('ROOT', './');
    include('header.php');
     
    include ROOT.'lang/'.$_SESSION['language'].'/machin.php';
    ?>
    du achteuleuleu<? echo $lang_machin['bienvenue'] ?> encore du html ...
    <?php
    include('footer.php');
    lang/English/machin.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $lang_machin = array(
    'bienvenue'                              => 'welcome',
    );
    Et bien sûr :

    lang/French/machin.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $lang_machin = array(
    'bienvenue'                              => 'bienvenue',
    );
    Facile et efficace n'est-ce pas ? aux niveau des performances, c'est sûrement améliorable, mais ça doit tenir la route ...
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup,
    D'une part pour le temps que vous prenez à me répondre et d'autre part pour la qualité de vos réponse.
    Je vais tacher comme vous me le conseiller de trouver des cms open-source pour en étudier l'architecture.

    En vous remerciant.

  6. #6
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut,

    pour ma part je ne serais pas aussi détaillé que "is_null" (drole de pseudo ! ) mais voici les grandes lignes de l'architecture de mes sites :


    - Dossier "include" qui regroupe mon fichier de configuration, mes fonctions, etc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /include/conf.pph
    /include/fonctions.php
    - Dossier template qui comprend les pages HTML du site ainsi que les CSS et images

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /template/defaut/index.html
    /template/defaut/membre/liste_membre.html
    etc..
    /template/defaut/tpl_image/styles.css
    /template/defaut/tpl_image/mon_image.gif
     
    /template/design2/ ... -> possibilité de créer d'autres templates
    - je n'utilise pas de header mais un fichier index.php qui fait appel à la rubrique dont j'ai besoin et qui fait le lien entre template et code PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    switch($_GET['r']) { 
     case "membre" : include("membre/include.php"); break;
     case "forum" : include("forum/include.php"); break;
     default : include("accueil.php"); break;
    }
    - Un dossier par rubrique du site comportant le code PHP (les elements de design se retrouve dans le dossier template)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /membre/include.php // gere les pages dont j ai besoin (un peu comme index.php)
     
    /membre/liste_membre.php
    /membre/lg_membre_fr.php // fichier de langue de la rubrique
    /template/membre/liste_membre.html

    Si tu veux aller plus loin, j'utilise ce système pour le CMS phpMySport (open source) http://phpmysport.sourceforge.net

    Je t'invite aussi à regarder comment sont structurés les autres CMS (une première liste : http://www.framasoft.net/rubrique168.html
    A++

  7. #7
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    On a tous nos petits "trucs" pour l'architecture de nos site mais moi personnellement c'est :

    / : index.php, et .htaccess; rien de plus
    /img : mes images
    /files : les fichiers dispos en telechargement
    /include/fonctions : mes fichiers de fonctions chargés dynamiquement par lecture du repertoire
    /include/class : mes fichier objets chargés dynamiquement comme les fonctions
    /include/other : mes fichiers JS et CSS
    /pages/%categ% : mes pages classées en categories
    /template : mes templates



    Je ne pense pas que prendre l'architecture de quellqu'un d'autre te soit agréable a coder, mais tu peux t'en inspirer pour te faire un style qui te conviendra
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup de vos réponse, je commence à mieux y voir. En efeft, chacun à sa façonde faire, mais de grosse similitude apparaissent. Et avoir els grandes lignes c'est le plus important. J'ai commencé à regarder l'architectude des cms mambo et ezpublish, je note là aussi des différences, mais c'est normales, d'autres choses reste identique.

    Donc à vous lire j'avais pensé à une arbo du genre :

    /template/default/img
    /template/default/css

    /include/classes
    /include/js
    /include/lang
    /include/functions
    /include/template/classe
    /include/template/tpl
    /include/pages

    A la racine un fichier index.php qui pilote toute la navigation. Quoi que ca reste un point à éclaire. Je pensais en fait que tout les liens de mon site ramenerai vers index.php avec des paramètre différent. Le fichier index.php test ces paramètre et selon ceux présent, inclu des fichiers différent contenu dans /include/page propre à une section et ces même fichiers inclueraient les fichiers nécessaires à leur bon fonctionnement. Qu'en pensez-vous ?
    vaudrait mieux t'il au même niveau de l'arboresence un dossier /pages , que les liens de mon site pointent directement vers la bonne page et que là aussi chacune des pages inclue ce qui lui est nécesaire ?

    J'attend toutes vos remarques, elles seront forcement constructive pour moi.

    Merci beaucoup

  9. #9
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Je remarque que vous ne semblez pas être friand de l'output-buffering, c'est une fonctionnalité de php qui me sembles indispensable, le gain de performances est énorme et permet donc de mieux séparer le design du moteur.
    Quelques explications : le parseur (c'est à dir le lecteur-interpreteur) de PHP lit le code point-virgule par point-virgule. On observe une large perte de performances proportionnelle avec le nombre de balises PHP : <? ?>
    Sauf, si l'output buffering est activé, visiblement il ne renvoie pas la main sur le fichier à Apache lorsqu'il passe sur ?> ... théorie à confirmer ou rejeter ...

    Citation Envoyé par sunshine33
    A la racine un fichier index.php qui pilote toute la navigation. Quoi que ca reste un point à éclaire. Je pensais en fait que tout les liens de mon site ramenerai vers index.php avec des paramètre différent. Le fichier index.php test ces paramètre et selon ceux présent, inclu des fichiers différent contenu dans /include/page propre à une section et ces même fichiers inclueraient les fichiers nécessaires à leur bon fonctionnement. Qu'en pensez-vous ?
    Forcément, il y aura la perte de performances qu'impose les tests de conditions dnas index.php, c'est pourquoi j'utilise header.php et footer.php au lieu de cela.
    En revanche, cela me parait tout à fait acceptable dans le cas ou pour chaque condition, un script est 'inclu' pour chaque condition, au lieu d'alourdir index.php avec du code qui sera inutile.
    Citation Envoyé par sunshine33
    vaudrait mieux t'il au même niveau de l'arboresence un dossier /pages , que les liens de mon site pointent directement vers la bonne page et que là aussi chacune des pages inclue ce qui lui est nécesaire ?
    C'est tout à fait possible, mais cela ne me servirai à rien vu comme j'abuse de l'url rewriting, vous pouvez le contater par exemple avec : http://jamespic.fr/portfolio
    Il y a en fait une page portfolio.php, mais l'url-rewritting permet une 'feinte' et chaque projet semble une page du dossier portfolio.

    A bientôt chèrs confrêres.
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 120
    Points : 50
    Points
    50
    Par défaut
    Bonjour is_null,

    En fait je ne suis pas trés familiarisé avec l'output-buffering pour être franc. Mais vous avez attisé ma curiosité, je vais donc me renseigner un petit peu plus sur le sujet.
    Encore merci pour votre réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Creation de l'architecture d'un site PHP
    Par absolutely dans le forum Autres
    Réponses: 0
    Dernier message: 09/04/2009, 09h04
  2. [POO] [Architecture]... d'un site en php-objet ?
    Par Pill_S dans le forum Langage
    Réponses: 13
    Dernier message: 13/02/2006, 14h05
  3. [architecture]Projet de site/partage de donnée
    Par Seth77 dans le forum Général Conception Web
    Réponses: 18
    Dernier message: 10/12/2005, 09h26
  4. Architecture d'un site multi-langues
    Par seben dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/09/2005, 15h23
  5. Débutant : architecture de mon site flash.
    Par Jazzy Troll dans le forum Flash
    Réponses: 3
    Dernier message: 12/01/2004, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo