[InDev] FujiCraft : Un CMS pas comme les autres

Statut
N'est pas ouverte pour d'autres réponses.

Fujido

Aventurier
19 Juillet 2011
24
0
1
30
fujicraft.com
@Nuukw72 : Pas vraiment. Forum gratuit c'est un forum que l'on peut gérer via une interface d'administration. Là, c'est un site que l'on peut gérer via une interface d'administration. On peut également gérer des plugins qui sont sur votre serveur, depuis se site.
 

Fujido

Aventurier
19 Juillet 2011
24
0
1
30
fujicraft.com

La 3.11_1 est sortie, c'est une petite version corrigeant plusieurs bugs d'affichages, encodage/décodage de caractères. Mais cela corrige notamment le bug dans le gestionnaire des logs (DataLog)
 

Fujido

Aventurier
19 Juillet 2011
24
0
1
30
fujicraft.com
La version 3.12 est sortie ! Les liens de téléchargements et le post a été mit à jour.

Je vais dès maintenant filmer un tutoriel d'installation & configuration du serveur. Ensuite => le montage et enfin l'upload. J'essai de faire au plus vite

Bonne soirée à toutes & à tous. J'espère que la nouvelle version vous plaira.
 

akiranai

Architecte en herbe
21 Mai 2011
344
13
124
Salut a toi. Alors tout d'abord gg pour ton taff. Maintenant j'aurais quelque petite demande :) serait il possible que tu ajoute un chat direct vers le serveur, faire que les personnes non inscrite, quand elles se connectent sue le serveur ils sont obligatoirement visiteur. Quand une personne s'inscrit elle peut (avec xauth si possible) modifier son login au serveur. Si tu fais sa tu es mon Dieu :) cordialement.

EDIT : j'ai une erreur lors de l'installation : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7183-sql.tb_info SET sitename_info = 'TreeEternityCraft', extension_info = '.com' at line 1

merci de m'aider :)
 

timoun

Aventurier
18 Juillet 2011
16
0
0
salut à toi,
Bon travail de ta part :)
Cepandant j'ai quelque points qui ne vont pas :S Ne le prend surtout pas mal, si j'en avais rien a foutre de ton travail j'aurais rien écrit :)

Tout d'abord ton projet ne ressemble pas vraiment a un CMS mais plutot à un gros et conséquent backoffice. En effet, un CMS (ou système de gestion de contenu) permet a l'utilisateur de modifier tout son contenu. Ca passe du simple menu jusqu'a lajout de page et même ajout et supression d'image sur ta bannière enfin tout quoi :D Une autre particularité des CMS c'est le foncionnement en module, en effet un utilisateur peut ajouter et supprimer des modules qu'on lui auras fournie. Je sais de quoi je parle vu que j'en ai créé un aussi mais je tiens a te rassurer, il n'a aucun rapport avec minecraft et il est payant :)

Ton travail n'en reste pas moins conséquent mais tu pourrais gagné du temps sur bien des choses (petite intro pour parler de ton code :D )

Ton code est comment dire, pas très propre, on sent que tu as du potentiel mais qu'il te manque pas mal d'années de pratique pour trouver les bon "trucs" que je vais te filer bien sur :D, voici ma liste:

-Mauvaise structuration au niveau de toute tes pages ou tu envoie de l'HTML, en effet tu réécrit dans chaque pages les headers ainsi que le haut et le bas de ta pages. Le bon truc ici, c'est de créer une page haut et une page bas que tu incluras dans chaque page grâce a include_once ça te permettras une meilleur maintenabilité puisque que tu n'auras qu'a modifier qu'une seule page au lieu de tout refaire...
Si tu utiliseras dorénavant cette méthode utilise dirname(__FILE__) ça te permettras de faire une inclusion dans une autre sans te soucier trop te soucier de l'endroit où tu te trouve dans le répertoire. (ça renvoie le chemin d'accès au fichier courant)
Généralement je fais aussi une page top qui contient toute mes inclusions comme la page de config ou mes fonctions récurrente qu'ensuite j'appelle dans ma page haut.

-Utilise plus de dossier pour mieux t'y retrouver, exemple un dossier news qui contient la vision des news mais aussi ses contrôleur comme la suppressions et l'ajout.

-Ne surtout plus utiliser mysql_query !!! Mais pdo, il permet de rendre plus propres les accès à la base et en plus les fonctions mysql vont disparaître dans php 6. T'es pas a la mode :D

-L'idée de mettre le menus, les headers.... est une très mauvaise idée c'est vraiment pas beau utilise la méthode que je t'ai indiqué plus haut, car j'ai bien compris que c'était pour t'éviter de tout retaper à chaque fois mais bon dieux aiaiaiaie

-Attention a la sécurité aussi, tu n'as rien fais pour les failles CSRF ainsi certainement quelque faille sql, sur la connection tu utilises session register et ça aussi c'est aiaiaie tu créé des failles qui n'existerais même pas à la base :( un autre petit sur la doc te ferais pas de mal, on peut y lire: "Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), n'utilisez pas session_register()" mais aussi ça: "Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser." ---> trouver ici

-Sur ton site de démo tu devrais supprimer tous les accès de type delete pour t'éviter bien des problèmes ce qui m'amène a un autre point. Un site comme le tiens qui diffuse son code doit avoir un dossier de log de toute les connection et modification sql, pour cela il te suffit de faire une classe héritée de pdo (par contre je suis pas sur que tu connaisse la POO :S ) pour pouvoir enregistrer tous les appels a ta base :)

-Tu as trop de condition imbriquée l'une dans l'autre, or n'importe quel programmeur fera tout pour en avoir le moins possible. Par exemple si il est dans une fonction et que la condition n'est pas remplie il fera un return dans un seul if pour couper net la fonction ou encore un break dans une boucle.
J'ai surtout vu ce problème dans ta pages index où tu regardes si l'installation n'est pas faites ce qui donne un truc comme ça:
PHP:
if ($install) {
    ?>
    <link rel="stylesheet" type="text/css" href="./css/style.css" title="" media="all" />
    <div id="box" onclick="document.getElementById('box').style.display='none';" style="margin:20%;" class="error-box rounded" title="Fermer la fen&ecirc;tre">
        L'installation n'a pas encore &eacute;t&eacute; r&eacute;alis&eacute;e. <a href="./install/index.php">Cliquez ici</a> pour commencer.
    </div>
    <?php
} else {
    require('./config/tbl.php');
    if ($line_info['maintenance_choix_info'] == "Oui") {
        show_maintenance();
    } else {
       ....
}
tu peux améliorée ça en utilisant, comme tu l'as déjà très bien fait dans d'autre pages, des redirections. Tu pourrais créé une pages maintenance et une autre pages install pour les redirections ce qui pourrais donner:
PHP:
if ($install) {
     header("Location: install.php");
}
require('./config/tbl.php');
if ($line_info['maintenance_choix_info'] == "Oui") {
        header("Location: maintenance.php");
}
       ....
Tu peux faire un truc similaire pour la gestion des erreurs, par exemple:
PHP:
if (isset($_POST['add_comment']) && $_POST['comment'] != ""){}
(j'ai fais avec le premier truc qui me tombes sur la main, ça tu peux garder, c'est plutôt pour les grosses vérifications)
PHP:
<?php
$erreur=null;
if(empty($_POST['add_comment'])){
$erreur .= 'erreur d'ajout'; //je sais c'est pas une erreur en vraie mais c'est pour l'exemple :D
}
if(empty($_POST['comment'])){
$erreur .= 'Vous n'avez pas remplie le champ commentaire';
}
if(empty($erreur)){
 //tu continus ton script normalement
}else{
echo $erreur;
}
?>

liste terminé enfin j'ai dû oublier quelque trucs mais bon :S

En ce qui concerne le HTML5/CSS3, ptit biscuit n'a pas tout a fait tort il reste près de 1/5 des internautes qui utilise internet explore 8,7 et 6 or ces navigateurs ne supporte pas cette norme qui n'est pas encore terminé. Par contre je ne suis pas d'accord avec toi ptitbiscuit, d'une internet explorer supporte l'html 5 et de deux au départ ms pensait créé leur propres rendus graphique pour concurrencer canvas et se mettre des programmeurs dans la poche :) on peut pas leur en vouloir. Moi je dis utiliser l'html 5 le plus tôt possible pour en faire une norme le plus vite possible, utiliser le dans des sites innovants pour vous démarquez ;)

Pour finir, pour faire l'interaction entre ton site et le serveur tu peux utiliser mctelnet il te permettras de communiquer entièrement entre le site et le serveur comme si tu étais en mode console sur ton serveur, je peux te fournir la class php pour communiquer en telnet et mon controleur pour gérer plus particulièrement le serveur ;) (Grâce à ça mon site communique entièrement avec mon serveur ce qui me permet d'ajouter, supprimer, changer de groupe un joueur... sans avoir a faire une seule commande ingame, tout se fait sur le site de façons visuel

J'espère que ça pourras t'aider et n'oublie c'est tout de même du très bon boulot ;)
 

Ptibiscuit

Modérateur sucre vanillé
11 Mars 2011
620
25
13
Dire qu'un navigateur supporte le Html5/Css3 n'est rien de plus qu'un argument de vente (Et tous les navigateurs l'ont compris), même si ce n'est pas encore standardisé.
Mais il suffit qu'un navigateur ne le supporte pas et tous le monde dis qu'il est obsolète, alors que c'est bien Html5/Css3 qui est trop en avance. Seulement, la nouvelle vague de développeur qui ont appris sur Developpez ou sur le Sdz n'a pas conscience que prendre ce genre d'habitude ne fera que reproduire ce qui c'est déjà passé avec Ie6, à savoir un navigateur que tous le monde utilise mais qui utilise des standards dépassés qui n'ont jamais été normalisés.
 

timoun

Aventurier
18 Juillet 2011
16
0
0
Ce n'est pas un argument de vente puisque la majorité des gens n'ont pas conscience de ce que cela peut être.
Le html5 est en constante évolution et cela pour faire avancer l'internet. Internet explorer est considéré obsolète car c'étais le seul a être en retard par rapport aux autres et qui interprétais différemment le css2 et le javascript, c'est en cela qu'il étais obsolète.
La nouvelle vague de développeur dont je ne fais pas partie tende justement a normalisé le HTML5/CSS3 en l'utilisant de plus en plus, c'est comme cela qu'on normalise quelque chose. Un simple exemple te le prouveras: On est passé des écrans CRT a Plasma puis à LCD qui sont aujourd'hui la norme parce que les gens ont utilisé ces produits et pourtant le LCD était au départ une innovation technologique...
Pour moi, c'est comme si tu disais lorsqu'on était au début du c, "non n'utilisez pas le C car c'est tout nouveau et ça risque de se casser la gueule donc rester a faire du pascal" si des gens n'utilisait pas les avancée technologiques et qu'on avait pas pris de risque on serait encore avec un silex pour faire du feu :D
Pour le cas d'ie 6 tu déforme un peu la réalité, ce qui c'est passé, c'est que ms avait la mains mise sur les navigateurs web et donc ne se souciait peu des avancées dans le web puisqu'il n'avait rien a y gagner...

Enfin bref, c'est sympas d'avoir une divergence d'opinion ça aussi ça fait avancer les choses ;)
 

Ptibiscuit

Modérateur sucre vanillé
11 Mars 2011
620
25
13
C'est un argument de vente, seulement la cible n'est pas la ménagère de 50 ans, mais le geek de 23 ans.

Je suis bien d'accord que l'utilisation d'un produit force son développement. Mais le problème est autre part, il suffit que quelques balises Html5/Css3 soit standardisés différemment (Par exemple pour rajouter plus d'arguments ou encore) et ce seront toute une vague de navigateurs qui seront obsolètes.

Concernant l'histoire de la première guerre des navigateurs, Ms n'avait pas totalement la main mise sur les navigateurs, Netscape était un concurrent tenace. C'est pour montrer qu'il pouvait innover qu'ils ont crée "leur propre standard" sans attendre que W3C ne les acceptent.
On retrouve exactement le même schéma :
Première guerre des navigateurs (1996-2000), Internet Explorer, voulant gagner des parts de marchés va trop vite en voulant intégrer des technologies non-standardisés.
Deuxième guerre des navigateurs (2004-...), Firefox/Chrome/Safari/Opéra vont trop vite en intégrant des technologies non-standardisés pour gagner des parts de marchés.
 

timoun

Aventurier
18 Juillet 2011
16
0
0
je suis d'accord sur la majorité des points que tu évoques :)
Par contre je ne pense pas que les balises déjà standardisés soit modifié a cause du "poids" de ces navigateurs, c'est à la fois un avantage et un désavantage...
Je pense aussi qu'ils sont aller un peu vite en proposant un HTML en version "beta" voir "alpha" mais trop vite ça seul l'avenir nous le diras ;)
 
Statut
N'est pas ouverte pour d'autres réponses.