Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > Vos techniques pour le développement de sites en PHP > Lecture du sujet

Vos techniques pour le développement de sites en PHP

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  4  5  6  7  8  9  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  4  5  6  7  8  9  Suivante
Hors ligne Bilbax # Posté le 12/01/2008 à 01:58:23
www.bilbax.eu
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Bonsoir :) ,

Alors moi j'ai complètement restructuré le site sur lequel de bosse, voici ce que ça donne :) .

Architecture des dossiers



Code : Autre - Afficher / masquer les numéros de ligne
  1. /
  2. |-- Templates   :: Dossier qui gère l'affichage de prêt ou de loin
  3. |   |-- templates   :: Contient les fichiers templates
  4. |   |   |-- fr   :: Concerne les pages françaises
  5. |   |   |   |-- forum   :: Fichiers templates pour le forum
  6. |   |   |   |   |- index.tpl
  7. |   |   |   |   |- viewTopic.tpl
  8. |   |   |   |   \- (etc...)
  9. |   |   |   |
  10. |   |   |   |-- admin   :: Pour l'admin
  11. |   |   |   |   \- (etc...)
  12. |   |   |   |
  13. |   |   |   \-- (etc...)
  14. |   |   |
  15. |   |   |-- en :: Pour l'anglais
  16. |   |   |   \-- (etc...)
  17. |   |   |
  18. |   |   \-- (etc...)
  19. |   |
  20. |   |-- design   :: Concerne la mise en forme des pages, des designs quoi
  21. |   |   |-- default   :: Un exemple de design, ici celui par défaut
  22. |   |   |   |-- css   :: Contient tout les fichiers CSS, tous séparés selon leur rôle
  23. |   |   |   |   |- structure.css
  24. |   |   |   |   |- forum.css
  25. |   |   |   |   |- MsgBox.css
  26. |   |   |   |   \- (etc...)
  27. |   |   |   |
  28. |   |   |   |-- bg   :: Les images servant aux CSS (principalement pour background)
  29. |   |   |   |   \- (etc...)
  30. |   |   |   |
  31. |   |   |   |-- img   :: Divers images insérées dans les documents XHTML
  32. |   |   |   |   \- (etc...)
  33. |   |   |   |
  34. |   |   |   \- favicon.ico
  35. |   |   |
  36. |   |   \-- (etc...)
  37. |   |
  38. |   |-- js   :: Concerne les scripts JavaScript évidemment
  39. |   |   |
  40. |   |   |- general.js
  41. |   |   |- CUform.js
  42. |   |   \- (etc...)
  43. |   |
  44. |   |-- xhtml   :: Contient des pages divers
  45. |   |   |
  46. |   |   |-- fr   :: Pages en français
  47. |   |   |   |- HTTPerr.php   :: Erreurs HTTP
  48. |   |   |   |- internalError.php   :: Problème grave
  49. |   |   |   \- (etc...)
  50. |   |   |
  51. |   |   \-- (etc...)
  52. |   |
  53. |   \-- xml   :: Contient différents fichiers XML comme des flux RSS
  54. |
  55. |-- libs :: Dossier où se trouve des classes, ensemble de fonctions et composants du site
  56. |   |- user.php   :: Gestion de l'utilisateur actuel (et *non* pas DES utilisateurS)
  57. |   |- sql.php   :: Gère la base de données MySQL bien sûr
  58. |   |- templates.php   :: Le fameux moteur de templates (du fil à retordre)
  59. |   |- upload.php   :: Classe pour faciliter au maximum l'upload de fichiers
  60. |   |- functions.php   :: Divers fonctions
  61. |   \- (etc...)
  62. |
  63. |-- etc   :: Fichiers de configuration généraux du site
  64. |
  65. |-- mod   :: Point crucial, contient tout les mods du site
  66. |   |-- forum   :: Un module, ici le forum, ensemble d'actions visant à un but commun (ici c'est faire un forum)
  67. |   |   |- delete.php   :: Ici une action pour le module 'forum' qui sert à supprimer un message
  68. |   |   |- index.php
  69. |   |   |- newTopic.php
  70. |   |   \- (etc...)
  71. |   |
  72. |   |-- chat  :: Un autre module, concerne les chats
  73. |   |   |-- etc   :: Fichiers de config pour le module
  74. |   |   |   \- port.conf   :: Un fichier de config, ici désigne le port du chat
  75. |   |   |
  76. |   |   |-- logs   :: Logs du module
  77. |   |   |
  78. |   |   |- send.php  :: Action pour le module
  79. |   |   |- stop.php  :: Autre action
  80. |   |   \- server.php
  81. |   |
  82. |   \-- (etc...)
  83. |
  84. |-- upload   :: Contient les fichiers uploadés
  85. |   |- _static   :: Contient des images pour les pages ne devront pas être affectés par le design
  86. |   |  |- easterEggs.jpg   :: Image, ici pour la page de l'Œuf de Pâques (parce que oui il y en a un)
  87. |   |  \- (etc...)
  88. |   |
  89. |   |- aaaa   :: Dossier intervallaire des uploads publique
  90. |   |  \- (fichiers numéroté de 1 à 100 de cette manière : 1.png, 44.jpg, 67.gif, etc... ; après 100 ça passe au dossier intervallaire supérieur)
  91. |   |
  92. |   |- aaab   :: Autre dossier intervallaire qui servira quand le précédent sera plein (contiendra 100 fichiers)
  93. |   \- (etc...)
  94. |
  95. |-- rsx   :: Contient des ressources variés pour les scripts comme des polices TTF
  96. |
  97. |- core.php   :: Script qui gère la fonctionnement des pages du site, est appelé à chaque fois
  98. \- kernel.php   :: Noyau du site, démarre les composants du site au besoin

PS : J'en ai pompé pour faire ça :D .

Fonctionnement



J'utilise la méthode d'include dite « dangereuse », c'est la première fois que je l'utilise et c'est bien je trouve :) . Tout d'abord j'ai codé un système que je nomme « résolveur d'URL », celui-ci a pour tache de parser l'URL que le visiteur a soumise. Tout d'abord les URL se présente ainsi :

page-a-appeller~argument1-arg2-arg3.xhtml


On envoie tout ça (sauf l'extension qui est retirée dans la règle de Rewrite) comme paramètre au script core.php via $_GET['url'], ensuite le script va parser ça en deux parties (au niveau du '~'). La première contient la page à appeler, et la seconde les arguments séparés par des '-'. Je dispose ensuite d'un Array qui fait la conversion de la page => script à exécuter ; par exemple 'accueil' va appeler le script 'mod/news/accueil.php', 'admin-news' => 'mod/admin/news.php'. Et les arguments sont contenus dans un array $_args.

Script d'exemple



Par exemple voici le script 'newTopic' du module 'forum' :)

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php require 'kernel.php'; // On inclue le Kernel, on démarre les composants, comme on a pas modifié $_CFG il va démarrer les composants par défauts
  2.  
  3. if(!isset($_args[0]) || !is_numeric($_args[0])) HTTPerr(412); // Si on a pas les arguments requis on affiche une erreur HTTP 412 (Précondition échouée)
  4.  
  5. if(!$usr->connected) MsgBox('Vous devez être connecté pour créer un topic.', 'erreur', 'connexion.xhtml'); // Si l'utlisateur n'est pas connecté alors affiche un message d'erreur avec MsgBox()
  6.  
  7. if(isset($_POST['titre']) && isset($_POST['ss_titre']) && isset($_POST['contenu']) && !empty($_POST['forum']) && is_numeric($_POST['forum']))
  8. {
  9.         $_POST['titre'] = trim($_POST['titre']);
  10.         $_POST['ss_titre'] = trim($_POST['ss_titre']);
  11.         $_POST['contenu'] = trim($_POST['contenu']);
  12.         if(mysql_num_rows($sql->requete('SELECT ID FROM forum WHERE ID='.$_POST['forum'].';')) == 0) MsgBox('Le forum n\'existe pas.', 'erreur', 'forum.xhtml');
  13.         if(empty($_POST['titre'])) MsgBox('Veuillez spécifier un titre.', 'erreur', 'forum~newtopic-'.$_POST['forum'].'.xhtml', FALSE);
  14.         if(empty($_POST['contenu'])) MsgBox('Veuillez spécifier un message.', 'erreur', 'forum~newtopic-'.$_POST['forum'].'.xhtml', FALSE);
  15.         $sql->unbuff_requete('INSERT INTO forum_topic VALUES(NULL, \''.esc($_POST['titre']).'\', \''.esc($_POST['ss_titre']).'\', '.$usr->id.', '.$_POST['forum'].', '.time().', 0, 0, 0, 0, 0, 0);');$t = mysql_insert_id();
  16.         $sql->unbuff_requete('INSERT INTO forum_msg VALUES(NULL, '.$usr->id.', '.mysql_insert_id().', \''.esc($_POST['contenu']).'\', '.time().', \''.$_SERVER['REMOTE_ADDR'].'\', 0, 0, 0);');
  17.         $sql->unbuff_requete('UPDATE forum SET topic=topic+1, msg=msg+1 WHERE ID='.$_POST['forum'].';');
  18.         MsgBox('Le topic a été créé avec succès.', 'information', 'forum~voirtopic-'.$t.'.xhtml', TRUE);
  19. }
  20.  
  21. $forum = $sql->requete('SELECT titre FROM forum WHERE ID='.$_args[0].';', 'arr');
  22. if(empty($forum))
  23.         MsgBox('Le forum n\'existe pas.', 'erreur', 'forum.xhtml');
  24. $tpl->titre = 'Nouveau topic - '.htmlspecialchars($forum['titre']); // Modifie le titre de la page
  25. $tpl->variable('id', $_args[0]); // Enregistre une variable template
  26. $tpl->executer('forum/newtopic'); // Exécute "/Templates/templates/{LNG}/forum/newtopic.tpl"
  27. ?>



Voilà ^^ .
Hors ligne Life2000 # Posté le 12/01/2008 à 09:18:42
Groupe : Membres
Bonjour

J'ai presque tout lu les 3 pages en regardant vos codes et présentations, et j'ai presque mal au coeur. Je suis à me demander si ma façon de coder est la bonne car je veux refaire complètement mon site qui date d'un an et demi et ne me permet plus d'avancer.

Je remarque que beaucoup d'entre-vous avez utilisez le système de Templates et avez suivi un peu l'exemple des forums comme PhpBB. Par contre, pour un site comme le mien qui contient environ 100 pages et 50 gigs de contenu, je trouve le tout très lourd à monter, vous ne trouvez pas ?

Présentement, tout ce que je fais est un fichier index.php dans lequel j'appelle les pages. Chaque page possède les incluses pour l'entête, le menu et le bas de page. Je n'utilise aucune class car je n'ai toujours pas compris l'avantage même à lire tous les tutos.

Certains ont parlé de «cache». Faut-il recharger le cache à chaque fois que les données changent ?

Vous m'avez mêlé et royalement ! Mon site accueil environ 70000 visites par mois et a 6000 membres qui le visitent régulièrement. Que me suggérez-vous ? SVP, ne me demandez pas d'engager quelqu'un pour le faire o_O

Merci!

Life
 
Hors ligne Natim # Posté le 12/01/2008 à 11:48:30
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Moi je te conseille d'utiliser Django : http://www.django-fr.org/ ou un autre Framework PHP si tu préfères.

Mais faire des sites sans utiliser un Méthode comme le MVC ou autre c'est vraiment s'arracher les cheveux pour rien.

En PHP on m'a dit beaucoup de bien de http://www.codeigniter.com/

Image utilisateur
 
Hors ligne Talus # Posté le 12/01/2008 à 12:57:48
タルス
Avatar
Groupe : Membres
Il va pas s'amuser à totu recoder, ca risque d'etre vite lourd. Et ton truc "a l'air" lourd Life2000 : Certes, pas forcemment besoin de classe (ou autre MVC, etc) [enfin ca dépend de la structure du site, etc], ce que tu fais peut très bien tenir la route.

Comme je l'ai dit, ca dépend vraiment de la structure du site, du contenu (dynamique ? "que" du statique ?), pour utiliser le cache, si tu sens que tu en a vraiment besoin pour de grosses requêtes et autres trucs du genre par exemple, ...

Bilbax > Joli l'arbre :D
 
Hors ligne Life2000 # Posté le 13/01/2008 à 14:01:54
Groupe : Membres
Merci Natim pour les liens et infos, j'ai tout lu attentivement.

Pour répondre à tes question Talus, la majorité du site est dynamique. Une petite partie est statique et beaucoup moins visité. Mon principal problème est que j'ai monté ce site en 6 mois, seul, et que j'ai appris le PHP en même temps. Elle date de près de 2 ans maintenant. L'autre problème est que le site est de plus en plus populaire, ce qui crée un gros traffic et fait en sorte que les «bobos» comme des requêtes mal écrites commencent à sortirent. J'ai souvent entre 100 et 150 membres en ligne.

Mon intention est de refaire le site en entier en délaissant MyISAM pour InnoB, en espérant que cela aidera. De plus, je veux réduire la taille de mes tables, surtout celle des membres, pour améliorer les perfomances. Dans la dernière année, j'ai même changé de serveur pour aller vers un VPS, qui est beaucoup plus dispendieux qu'un hébergement standard.

J'aime beaucoup le principe du MVC (je crois que ce site l'utilise), mais j'ai l'impression que de longues heures de travail s'annoncent! Mon site comportent principalement des listes de membres que les visiteurs peuvent trier en utilisant des filtres. Exemple : voir uniquement les gars avec photo de 24 à 35 ans de la région de Montréal.

De plus, chaque membre peut avoir un album de photos, utilisez une messagerie privée qui se recharge dans un frame à toutes les 20 secondes, clavarder dans un chat JAVA (je loue les services d'une entreprise pour ça), etc. Vive le bénévolat!

Merci pour vos réponses rapides, c'est très apprécié. Bonne journée!
Édité le 13/01/2008 à 14:06:15 par Life2000

Life
 
Hors ligne Vorex # Posté le 13/01/2008 à 14:11:47
Groupe : Membres
Une MVC, ca doit être réfléchis, ce que je te conseille c'est de réfléchir à la structuration de ton site (pas que l'arborescence mais aussi le système, la gestion de tes modules , pages ...).

C'est peut être long et dur à mettre en place mais une fois que le coeur du site est fait c'est déjà beaucoup plus simple, et puis si c'est pas trop mal structuré tu peut t'en resservir pour d'autres sites pas la suites.

Concernant les framework c'est bien, mais je pense que c'est mieux d'avoir son propre MVC, on connais bien le code et si il y a une modification à faire on s'y retrouve beaucoup mieux.

Vorex
 
Hors ligne Life2000 # Posté le 13/01/2008 à 14:15:14
Groupe : Membres
Je viens de lire 2-3 pages concernants les MVC et je commence déjà à m'arracher les cheveux. J'ai toujours eu tendances à mélanger tous les codes ensembles, plus simple à première vue pour mois. Finalement, je n'utilise présentement AUCUNE fonction. J'ai commencé à lire sur les classes et je crois que j'aurai besoin d'aspirine pour comprendre.

Il ne reste plus qu'à aller me promener sous un orage et attendre qu'un éclair de génie me frappe!!! :-°

Life
 
Hors ligne vincent1870 # Posté le 13/01/2008 à 14:18:30
Avatar
Groupe : Membres
Le MVC doit passer par une étape d'adaptation du code il est vrai, mais au final, cela rend tout de même tout beaucoup plus clair. ;)
 
Hors ligne Talus # Posté le 13/01/2008 à 15:21:59
タルス
Avatar
Groupe : Membres
Tout dépend de la facon dont on l'utilise... Par exemple, j'en utilise un qui s'approche du MVC (entièrement en OO) pour mon nouveau site, et je m'éclate bien :)

Surtout, ca reste bien clair et compréhensible... Ca reste très possible avec le OO PHP5 :)
 
Hors ligne Tracker # Posté le 14/01/2008 à 08:12:40
Avatar
Groupe : Membres
Salut,

Tout le monde parle de MVC, mais personne n'utilise d'architecture en "postback" type Prado ?


Tracker.

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne Mika12 # Posté le 14/01/2008 à 11:12:41
Groupe : Membres
J'ai lu ce topic qui m'a l'air très intéressant

déjà je savais pas qu'on pourvait faire LIMIT $x OFFSET $y :)

sinon plusieurs questions me viennent à l'esprit :

Quel framework conseillez vous (facile à apprendre avec plein de fonctions)

Quel est la différence entre une fonction et une classe (je sais la différence, mais en pourquoi privilégions nous la classe, car on: $db->inserer ou inserer($table,titre=$titre)?

Comment les CMS procèdent ils pour créer des systèmes de modules. Comment créer ces pages de "Structure" et puis on aurait plus qu'à faire des modules et activer/desactiver par le panel de config.



Merci beaucoup :)

Image utilisateur

Je développe bien en PHP/MySql, seul problème: je hais les Regex >_<
 
Hors ligne Talus # Posté le 14/01/2008 à 12:14:45
タルス
Avatar
Groupe : Membres
1) PHP. Soit aucuns, les framework, ca pue §§
2) Ben si tu veux, tu te retrouve pas avec des fonctions comme justement "inserer(table, titre)", "recuperer(ressource)", etc, mais avec un truc plus clair dans ton code sourcE. Surtout, tu peux avoir des éléments interessants (via l'héritage de class, activation ou non d'options, etc).
3) Ca dépend des CMS... :p
 
Hors ligne anonyme # Posté le 14/01/2008 à 12:48:43
Groupe :
Encore cet argument pourri de la soit-disant clarté de l'orienté objet ?
Hors ligne balzard # Posté le 14/01/2008 à 12:54:27
Avatar
Groupe : Membres
Waow quel topic hyper intéressant :D

Que de mots nouveaux :P CMS, class ... :P

Je sens que je vais devoir lire un petit peu ^^

Vous connaissez des adresses de sites qui expliquent bien tout ces concepts ?

Merci :)

[ Eternellement reconnaissant envers cirilo pour son aide ! ]
 
Hors ligne Mika12 # Posté le 14/01/2008 à 13:27:01
Groupe : Membres
j'aimerai des réponses clair :) pas dire que ca pue ou quoi...

Image utilisateur

Je développe bien en PHP/MySql, seul problème: je hais les Regex >_<
 
Hors ligne balzard # Posté le 14/01/2008 à 14:24:15
Avatar
Groupe : Membres
Citation : Shepard
...
  • lib
    • accueil
      • add_news.php
      • del_news.php
      • edt_news.php
      • add_commentaire.php
      • del_commentaire.php
      • edt_commentaire.php
    • livreor
      • add.php
      • del.php
      • edt.php
    • class.sql.php
    • class.cache.php
    • class.templates.php
  • templates
    • accueil
      • accueil.tpl
      • news.tpl
      • add_cmt.tpl
      • edt_cmt.tpl
    • livreor
      • accueil.tpl
      • add.tpl
    • design_base.tpl
  • images
    • ...
  • caches
    • ...
  • index.php
  • accueil.php
  • livreor.php

...


Désolé de poser une question sur le premier post qui date un peu ^^

Je ne comprend pas pourquoi il existe 3 fichiers différent pour : modifier/ajouter et supprimer une news.

Je comprend pas vraiment l'utilité :S Dans le ficher del_news.php par exemple y a quoi ?

Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2.  
  3. mysql_query('DELETE FROM news WHERE id=\''.$_GET['id'].'\'');
  4.  
  5. header('index.php');
  6.  
  7. ?>


Je vois pas très bien l'intérêt de créer un fichier juste pour 3 lignes :S

Ou alors j'ai rien compris ^^ C'est très possible :p
Édité le 14/01/2008 à 14:24:46 par balzard

[ Eternellement reconnaissant envers cirilo pour son aide ! ]
 
Hors ligne Tracker # Posté le 14/01/2008 à 14:36:44
Avatar
Groupe : Membres
Salut,

Quelle différence pour toi de créer un ou dix fichiers ?


Tracker.

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne balzard # Posté le 14/01/2008 à 14:44:01
Avatar
Groupe : Membres
Euh ...

Bin personnelement je préfere avoir un fichier

gerer_news.php

que 16847 fichiers

Supprimer_news.php
Ajouter_news.php
Modifier_news.php
Move_news_haut.php
Move_news_bas.php
Afficher_news_par_id.php
Afficher_news_par_timestamp.php
Afficher_news_par_pseudo.php
Afficher_news_par_contenu.php

etc ... etc ... ^^

Et puis je trouve ça assez lourd les redirection :S
ça ne ralenti pas le site ?

[ Eternellement reconnaissant envers cirilo pour son aide ! ]
 
Hors ligne Tracker # Posté le 14/01/2008 à 15:04:27
Avatar
Groupe : Membres
Citation : balzard
Euh ...

Bin personnelement je préfere avoir un fichier

gerer_news.php

que 16847 fichiers

Supprimer_news.php
Ajouter_news.php
Modifier_news.php
Move_news_haut.php
Move_news_bas.php
Afficher_news_par_id.php
Afficher_news_par_timestamp.php
Afficher_news_par_pseudo.php
Afficher_news_par_contenu.php

etc ... etc ... ^^

Et puis je trouve ça assez lourd les redirection :S
ça ne ralenti pas le site ?


Je vois, sur tous les posts où tu participes, que finalement ton but est de justifier à tout prix ta façon de coder ou concevoir un "site", pour finalement ne rien changer, libre à toi (je sais c'est chiant de se former). Sache simplement qu'il existe des tas de philos/outils de développement web s'appuyant le plus généralement sur des "frameworks" ou "applications dédiées" dont les bugs sont connus et progressivement corrigés (et pas par toi), et que beaucoup de boite utilisent pour produire plus efficacement des solutions professionnelles.

Si l'objectif que tu t'es donné consiste à faire et refaire 50 sites contenant de livre d'or de mattéo continue si ta lancée, mais si tu avais à monter un site/appli dont le modèle contenait des dixaines tables et dont l'ergonomie, la sécurité, etc... devait irréprochable, tu serais sans doute dans une profonde panade... (rien qu'au niveau délai de réalisation)


Tracker.
Édité le 14/01/2008 à 15:08:28 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne balzard # Posté le 14/01/2008 à 15:24:53
Avatar
Groupe : Membres
--- Je vois, sur tous les posts où tu participes, que finalement ton but est de justifier à tout prix ta façon de coder ou concevoir un "site" ---

A mais absolument pas, je me balade énormément sur le forum php afin d'améliorer ma façon de créer des sites car je sais que ma méthode est un peu barbare, je me renseigne sur tout ce qui existe et je pose des questions ...

Je ne suis pas fermé ou têtu ... J'essaie simplement de comprendre les pour et les contres de chaque "philos/outils de développement web" comme tu les appelles si bien :)

[ Eternellement reconnaissant envers cirilo pour son aide ! ]
 
Hors ligne anonyme # Posté le 14/01/2008 à 15:26:58
Groupe :
Tes 16847 fichiers, c'est du flan.
Séparer en fichier ne veut pas dire qu'on va créer 1001 fichiers, séparer en fichier veut dire 1 fichier = 1 action.
Monter ou descendre une news, c'est une action paramétrable, donc un fichier. Afficher les news ordonnées par id/date/etc., c'est une action paramétrable, donc un fichier.

Les atouts de cette séparations sont multiples. D'abord, il y a la facilité de maintenance et la clarté du code. Comme chaque action est à part, il n'y a pas de dépendances, on peut donc modifier une action particulière très facilement sans se soucier des dépendances puisqu'il n'y en a pas.
Aussi, c'est très évolutif et modulable. Si le créateur de l'application met à jour une ou deux actions, plus besoin de télécharger un gros fichier de 16847 lignes, suffit de télécharger un ou deux petits fichiers (qui peuvent quand même être gros, évidemment).
Ca permet aussi de répartir aisément la tâche dans un groupe de développeurs. Avec un seul fichier, tout le monde bossera sur le même fichier et ça sera un enfer, toujours à aller chercher le dernier fichier, toujours devoir vérifier qu'il n'y a pas eu de modif, que ce qu'on va modifier ne va pas faire planter tout le reste, etc.
Avec une action par fichier, tu dis "toi tu fais telle et telle action, toi ça et ça, etc." et comme ça personne ne se marche dessus.
Bien sûr derrière chacune de ces fichiers il y aura quelques bases communes, par exemple la gestion de la base de données, des permissions des utilisateurs, etc. seront uniques et communs à toutes les actions, mais comme on aura prit le soin de bien documenter cette base commune, de bien donner l'interface, etc. tout le monde saura l'utiliser comme il faut.
On peut aussi citer l'avantage du débuggage, si ton application merdouille quelques part, suffit de regarder le fichier lié à l'action qui foire, ainsi on se retrouve à chercher un bug dans un code réduit au lieu de le chercher dans une jungle ..

Il y a beaucoup d'avantages à éclater une application en plusieurs éléments indépendant liés à un socle commun. Surtout quand on veut ajouter des éléments, avec une telle architecture ça consiste simplement à suivre une interface, taper le code de l'élément et le mettre dans les dossiers.
Avec une architecture gros pâté, faudrait modifier le code pré-existant, faire gaffe aux dépendances, etc.
Hors ligne balzard # Posté le 14/01/2008 à 15:32:58
Avatar
Groupe : Membres
Apperement j'en ai choqué plus d'un ^^ Désolé :P

Les 16847 fichiers s'était une ironique ;) Ainsi que l'affichage selon chaque type.

Je viens de lire un article sur le MCV «Modèle, Vue, Contrôleur » et je comprend maintenant beaucoup mieux les nombreux avantages de ce genre de "construction".

Merci :) Et encore désolé de vous avoir choqué ;)

[ Eternellement reconnaissant envers cirilo pour son aide ! ]
 
Hors ligne Nesswaw # Posté le 14/01/2008 à 20:02:02
Groupe : Membres
Je pense qu'il serait cool de développer un peu ce topic, afin de trouver une ou plusieurs structure pour son site, pour partir sur de bonnes bases :)

Templates ou pas ?
1 fichier par action ou pas ?
quelle méthode pour le traitement des formulaires ? tout sur une page, 2 pages ? gestions des erreurs ? ré-affichage des champs pas rempli ?
Hors ligne anonyme # Posté le 14/01/2008 à 20:05:09
Groupe :
Il n'y a pas de réponse universelle sauf pour la première question, et pour cause, dès qu'on fait du PHP, on utilise un moteur de template, après qu'on utilise une sur-couche supplémentaire ou pas, osef.
Hors ligne Mika12 # Posté le 14/01/2008 à 20:32:59
Groupe : Membres
Citation : ZyggiX
J'ai lu ce topic qui m'a l'air très intéressant

déjà je savais pas qu'on pourvait faire LIMIT $x OFFSET $y :)

sinon plusieurs questions me viennent à l'esprit :

Quel framework conseillez vous (facile à apprendre avec plein de fonctions)

Quel est la différence entre une fonction et une classe (je sais la différence, mais en pourquoi privilégions nous la classe, car on: $db->inserer ou inserer($table,titre=$titre)?

Comment les CMS procèdent ils pour créer des systèmes de modules. Comment créer ces pages de "Structure" et puis on aurait plus qu'à faire des modules et activer/desactiver par le panel de config.



Merci beaucoup :)


Une idée?

Image utilisateur

Je développe bien en PHP/MySql, seul problème: je hais les Regex >_<
 
Hors ligne Nesswaw # Posté le 14/01/2008 à 20:49:58
Groupe : Membres
Essaye Jelix comme Framwork, sorti il ya pas longtemps, il à l'air pas mal.

La différence entre une fonction et class, je dirais que c'est plus une fonction de goût :)

Les modules des CMS sont stockés dans une bdd, ce qui devien ttrès facile de les activer ou désactiver.
Hors ligne reboss # Posté le 15/01/2008 à 02:35:43
SOADien
Avatar
Groupe : Membres
je n'ai pas tout lu mais qu'est ce qu'un framework ?
a quoi sert-il?
merci ;)

La Communauté des Hommes Psychologiquement pertubés par le Rire ( En construction )
Wargang, un jeu de gangster
Vous êtes graphique il y a moyent qu'on collabore pour des sites internet

 
Hors ligne metalking # Posté le 15/01/2008 à 09:18:36
Knowledge is Power
Avatar
Groupe : Membres
Citation : reboss
je n'ai pas tout lu mais qu'est ce qu'un framework ?
a quoi sert-il?
merci ;)


Salut,

Un framework est un "environnement de développement". En clair, c'est un gros ensemble de fonctions et de classes préfabriquées qui te permettent de ne pas tout réinventer toi-même. La plus part du temps, les fonctions de base gèrent la structure générale du site (rediriger les url vers les pages concernées, gérer les erreurs SQL, 404 etc.). Après, tu as souvent des helpers qui te permettent de gérer, par exemple, les url plus facilement via des fonctions préfabriquées.

En gros, ça te permet de rester constant dans ton développement, ça te donne quelque chose de compact, de portable (si tu changes de SGBDD par exemple), de structuré, etc..

Pour plus d'infos : wikipédia

Pour ma part, j'utilise le framework PHP CodeIgniter
Ses avantages :
  • Fonctionne avec PHP4 ET PHP5
  • Invisible pour l'utilisateur du site
  • Facilite la manutention grâce au modèle MVC (Model, View, Controller)
  • Pas besoin d'utiliser de console
  • N'est pas restrictif quant au langage à utiliser (tu peux tout coder en PHP standard si ça te chante)
  • Très, très, mais alors très bien documenté !! (en anglais malheureusement)
  • Le Core est traductible en de nombreuses langues (messages d'erreur, etc.)
  • J'en oublie encore sûrement plein


Le site officiel : Codeigniter.com
Un article sur mon blog : ici

A+
 
Hors ligne -|MG|- # Posté le 15/01/2008 à 11:30:05
OUHHHH Pinaise !!
Avatar
Groupe : Membres
Citation : Nesswaw
Je pense qu'il serait cool de développer un peu ce topic, afin de trouver une ou plusieurs structure pour son site, pour partir sur de bonnes bases :)

Templates ou pas ?
1 fichier par action ou pas ?
quelle méthode pour le traitement des formulaires ? tout sur une page, 2 pages ? gestions des erreurs ? ré-affichage des champs pas rempli ?


En effet, essayer de trouver une structure de site serait interessant, mais en général, les gens aiment développé leur site a leur maniere. Enfin on pourrai quand même essayer de faire quelque chose et le proposer par la suite pour voir ce que les gens en pense ou voir si il y a des choses a améliorer.

1 fichier par action : oui , j'utilise cette façon de faire je la trouve très bien, c'est beaucoup plus pratique pour la maintenance et pour faire evoluer le site.

Ensuite, j'utilise une class SQL, et je sépare les requêtes de mon code.

Templates : Je ne sais pas encore ... Je me pose moi même cette question. :-°

Gestion des erreurs: Oui, pour PHP et SQL, peut etre aussi un système pour les liens morts, faut voir si c'est possible a développer.

Géré les valeurs des meta-tags (keywords et description) en fonction de la page appelé.

Appelé les scripts Js et les feuilles de style en fonction des pages demandé.

Utilisation d'un systèmes d'includes ? Moi j'en utilise 1 faut voir si c'est une bonne idée ou pas.

Apres faut voir si il n'y a pas autre chose a faire.

Image utilisateur
Image utilisateur
Image utilisateur
Image utilisateur
Image utilisateur
 
Hors ligne Tibrus # Posté le 15/01/2008 à 16:31:46
TGV A rame 325 482,4 Km/h
Avatar
Groupe : Membres
Citation : metalking
Citation : reboss
je n'ai pas tout lu mais qu'est ce qu'un framework ?
a quoi sert-il?
merci ;)


Salut,

Un framework est un "environnement de développement". En clair, c'est un gros ensemble de fonctions et de classes préfabriquées qui te permettent de ne pas tout réinventer toi-même. La plus part du temps, les fonctions de base gèrent la structure générale du site (rediriger les url vers les pages concernées, gérer les erreurs SQL, 404 etc.). Après, tu as souvent des helpers qui te permettent de gérer, par exemple, les url plus facilement via des fonctions préfabriquées.

En gros, ça te permet de rester constant dans ton développement, ça te donne quelque chose de compact, de portable (si tu changes de SGBDD par exemple), de structuré, etc..

Pour plus d'infos : wikipédia

Pour ma part, j'utilise le framework PHP CodeIgniter
Ses avantages :
  • Fonctionne avec PHP4 ET PHP5
  • Invisible pour l'utilisateur du site
  • Facilite la manutention grâce au modèle MVC (Model, View, Controller)
  • Pas besoin d'utiliser de console
  • N'est pas restrictif quant au langage à utiliser (tu peux tout coder en PHP standard si ça te chante)
  • Très, très, mais alors très bien documenté !! (en anglais malheureusement)
  • Le Core est traductible en de nombreuses langues (messages d'erreur, etc.)
  • J'en oublie encore sûrement plein


Le site officiel : Codeigniter.com
Un article sur mon blog : ici

A+


En passant, tu as un joli icone w3c mais dès la première page : http://validator.w3.org/check?uri=http%3A%2F%2Fwww.metalking.net%2Fblog%2Findex.php%2F2007%2F08%2F31%2F21-bien-commencer-avec-codeigniter

Dommage :-°
Édité le 15/01/2008 à 19:19:55 par Tibrus

Quand la cervelle échoue, la force brute reprend ses droits
Image utilisateur Born to be root
 
Hors ligne Talus # Posté le 15/01/2008 à 16:45:43
タルス
Avatar
Groupe : Membres
Tu vois bien que c'est du Dot Clear... :p
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 139 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.0289s (0.0126s)