5160 sujets

Le Bar du forum

Pages :
Bonjour,

Loin d'être un pro, j'adore créer des sites internet en html, css, et un peu de php pour faciliter la mise à jour du site. Il y a quelques années, je prenais des templates css que je mettais à mon gout puis je suis passé à Joomla ...

Oui, Joomla surtout hé ... euh .... ca va mais depuis ce temps là j'ai l'impression que je n'évolue plus vraiment et je pense que c'est dû à l'utilisation de ce CMS ...

Mon post est là pour justement vous poser la question ... qu'en pensez-vous ... j'adore créer des sites mais je suis comme bloqué...

Alors la question c'est CMS ou pas CMS et la réponse c'est ... je suppose ... cms si il y a beaucoup de contenu ou si le contenu doit être modifié par qqun qui ne connait pas le html...

Est-ce que ma réponse est correcte ?

Merci d'avance pour vos réponses et vos avis,

Sub
J'ai un peu de mal à saisir le problème.
Si un outil ne te permet pas de faire ce que tu veux, ou de le faire de manière satisfaisante, il faut aller voir ailleurs.
D'autres cms, approfondir ses connaissances en php, découvrir d'autres langages, des frameworks... ce n'est pas la matière qui manque.
Je ne vais pas troller sur joomla aujourd'hui...
Ce n'est pas un réel problème ... disons que c'est une nouvelle direction que je prendrais...
Il y a deux ans je faisais tous mes sites en html+css puis je suis passé à Joomla mais aujourd'hui, je me sens limité par Joomla ...
Bonjour,

Utiliser Joomla ou tout autre CMS ne devrait théoriquement pas te limiter dans la pratique de HTML et CSS. Ça te limitera par contre dans l'apprentissage de la programmation avec un langage côté serveur (PHP, Python, Ruby ou autre).

En pratique si tu te contentes d'utiliser des thèmes déjà prêts, d'exploiter le code HTML sorti par tel module ou plugin de Joomla, tu ne feras pas des masses de HTML et CSS, c'est sûr. C'est souvent intéressant de faires des pages HTML complètement «à la main», pour ne pas être restreint par les contraintes de l'un ou l'autre CMS, système de templating ou autre outil.

Maintenant, à toi de voir ce que tu as envie d'apprendre ou approfondir. HTML, CSS, JavaScript, PHP, Python, autre chose?
Modifié par fvsch (06 Jul 2011 - 18:25)
Bijour Smiley smile

subran a écrit :
Alors la question c'est CMS ou pas CMS

Je dirais plutôt « la question c’est : quel CMS ? » Parce qu’on fini toujours avec un plus ou moins CMS finalement. Tu ne veux quand-même pas éditer tous tes textes à même le HTML non ?

Pour mes choses personnelles, j’aime bien le XML + XSLT et j’utilise un éditeur tout aussi personnel qui me sert quasiment de CMS.

Peut-être as-tu finalement envie d’en créer un et d’expérimenter dans ce domaine ? Et que c’est cette intuition au fond de toi qui t’amène à te poser cette question ?

Sinon, comme l’a déjà dit Fvsch, un CMS n’a rien de bloquant concernant les libertés que tu peux te donner avec le CSS.
Modifié par hibou57 (08 Jul 2011 - 07:08)
Une autre voie est celle des CMF (Content Management Framework ) qui gère le contenu façon CMS ( gestion des utilisateurs, organisation et création des ressources , système de cache ... ) mais qui pour le front-end n'impose rien et te propose des briques dont tu maîtrises la sortie html grâce à tes propres modèles.

Pour l'instant je ne connais que Modx dans ce style mais je crois qu'il y en a d'autres.
J'ai trouvé ma question Smiley lol

J'ai déjà quelques sites en html/css et 2 autres sous joomla. Mais je trouve Joomla assez lourd même en version 1.6... et je n'aime pas le fait de devoir ajouter des composants via upload via l'admin ... je souhaiterais maitriser cela moi même.

Quel serait le CMS que je pourrais le plus facilement intégrer à mes sites en html/css existant? Je souhaiterais pouvoir ajouter du cms à ces sites afin que des utilisateurs qui ne connaissent pas le html puissent facilement ajouter / enlever ou modifier des pages.

J'ai visiter les site de MODX (version Evolution ou Revolution) et celui de CMSMADESIMPLE

Qu'en pensez-vous ? Avez-vous de l'expérience avec un de ces 2 CMS ou avec d'autres ?

Merci d'avance pour vos avis

;)
Sub
Modifié par subran (10 Jul 2011 - 22:07)
je suis en plein dans Modx revo actuellement j'ai pas testé cmsmadesimple

Si j'ai choisi Modx c'est parce que j'aime bien le système de séparation templates( juste html+balises templates) / programmes.

La gestion de groupes et d'utilisateurs native ( avec des permissions très détaillées, très poussé comme système ... le plus ardu à saisir en fait mais le plus puissant que j'ai vu ...) , pour le site communal que je suis en train de faire une vraie gestion des groupes d'utilisateurs était primordiale ... cela a laissé beaucoup de cms de côté

La facilité de développement d'addon simple ou compliqué aussi.

Modx Revolution pêche un peu côté extra mais se rattrape rapidement.

Un exemple de plugin ( crée les balises figure et figcaption à partir d'une classe img lors du parsage de la page web avant son rendu ) :
<?php
/**
 * Create tag figure from tag image, start from source code of Directresize
 * 
 * @package img2figure
*---------------------------------------------------------------
* api modx utilisées  :
* modx->lexicon->load(lexique);
* modx->event;
* modx->resource
//héritage xpdo
* modx->getOption(option,tableau d'options prioritaire,valeur par défaut) // il est possible de redéfinir les options pour : une ressource, un utilisateur ...
 */

$modx->lexicon->load('img2figure:default');
$classe = $modx->getOption('img2figure.cssclass',null,'photo');
$legende= $modx->getOption('img2figure.legende',null,0);
// legende : 0 = valeur du alt pour figcaption
// legende : 1 = valeur du title pour figcaption
// legende : 2 = valeur alt+title



$e = &$modx->event;
switch ($e->name) {
    case "OnWebPagePrerender":
        $o = $modx->resource->_output;
  //print_r('1'.$o.'2');
        
        $reg = "/<img[^>]*>/";  
        preg_match_all($reg, $o, $imgs, PREG_PATTERN_ORDER);
        for($n=0;$n<count($imgs[0]);$n++) {
            //-----------------------

            //-----------------------
                $img = $imgs[0][$n];
                
	  	preg_match("/class *= *[\"|'][^\"']*[\"']/",strtolower($img),$array);
	  	if ($array[0] <> "") {
	     		$baliseclass=$array[0];
	  	}
                    preg_match("/$classe/",$baliseclass,$verif_light);
                    if ($verif_light[0] == $classe) {
                        
                        
                        $alt        = "";
                        $title  = "";
		        $style = "";
                        preg_match("/(style|Style|STYLE) *= *[\"|'][^\"']*[\"']/",$img,$array);
                        if ($array[0] <> "") {
                            $style = $array[0];
                        
                        }
                        preg_match("/(alt|Alt|ALT) *= *[\"|'][^\"']*[\"']/",$img,$array);
                        if ($array[0] <> "") {
                            $alt = preg_replace("/alt *= *[\"|']/ui","",$array[0]);
                            $alt = preg_replace("/[\"']*/ui","",$alt);
                            $alt = trim($alt);
                        }
                        preg_match("/(title|Title|TITLE) *= *[\"|'][^\"']*[\"']/",$img,$array);
                        if ($array[0] <> "") {
                            $title = preg_replace("/title *= *[\"|']/ui","",$array[0]);
                            $title = preg_replace("/[\"']*/ui","",$title);
                            $title = trim($title);
                        }
                        if ($alt <> "" || $title <> "") {
                            if ($legende <> 1) $figcaption = $alt;
                            if (($legende ==2) && $alt <> "" && $title <> "") $figcaption .= "<br />";
                            if (($legende>0) && $title <> "") $figcaption .= "$title";
                            
                        } else {
                            $figcaption = "";
                        }
		      $img=str_replace($style,'',$img);
                      $balisefigure ="<figure class=\"$classe\" $style>$img<figcaption>$figcaption</figcaption></figure>";                        
                     $o = str_replace($imgs[0][$n],$balisefigure,$o);
                           
                        
                    }
                    
                    ####################################
                


        }
	$reg = "#(<p.*?>)(.*?)(</p>)#";
	preg_match_all($reg, $o, $p, PREG_PATTERN_ORDER);
	for($n=0;$n<count($p[0]);$n++) {
		$reg = "#(<figure.*?>)(.*?)(</figure>)#";
		preg_match_all($reg, $p[2][$n], $fig, PREG_PATTERN_ORDER);
		if (count($fig[0])>0) {	
			$r=preg_replace(array('#<figure #','#</figure>#'),array('</p><figure ','</figure><p>'),$p[0][$n]);
			$r=preg_replace('#<p></p>#','',$r);
			$o = str_replace($p[0][$n],$r,$o);
 		}
	}

  	$modx->resource->_output = $o;
         break;
    default :
        return;
        break;
}


un petit snippet :
<?php
return date('Y-m-d');
appelé 'today'

et utilisé comme ceci dans un template comme parmètre d'un autre snippet :
 [[!getResourcesBis?  &tplFirst=`agendaTplAFirst` &sortdirTV=`ASC` &sortbyTV=`date_evenement` &tvFilters=`date_evenement>>[[!today]]` &parents=`23,24,25` &showHidden = `1`  &includeTVs=`1` &where=`{"template:=":16}` &tpl=`agendaTplA`]]

chaque snippet a ses propres templates mais que l'on peut remplacer si besoin comme ci-dessus en donnant le nom d'un 'chunk' en paramètre ( &tplFirst=`agendaTplAFirst` )
Ok, je vais me lancer dans des tests Smiley lol

Qqun a une expérience avec CMSMADESIMPE ? Ou avec les deux ou encore un 3ème ....

Merci pour ton explication !
Bonjour, personnellement, je travaille parfois avec MadeSimple. Avec le temps et l'utilisation, j'ai amélioré mon efficacité d'intégrer un site avec ce cms.

Comme certains de l'on dit, choisir tel ou tel cms dépend de tes besoins.

Mais il n'y a rien de magique et ça prend de la débrouillardise, de la curiosité et de bonnes connaissances de base en html, css et php.

La communauté d'entraide en français commence à être pas pire mais surtout pour des problèmes simples. Il y a aussi la communauté anglophone qui est très active mais tu dois être capable de t'exprimer en anglais.
CMSMadeSimple c'est pas ce CMS dans lequel il faut passer par l'admin pour éditer les feuilles de styles ?

@Ariala: mon Dieu que c'est moche ! Y'a pas moyen de garder une séparation entre la logique et l'affichage dans ModX ?
Waouw jb_gfx, ton site est ... TOP!

Tu utilises un CMS ou tu en conseilles un en particulier ? Ou tu crée ton propre CMS ?
jb_gfx a écrit :
CMSMadeSimple c'est pas ce CMS dans lequel il faut passer par l'admin pour éditer les feuilles de styles ?

Tu peux développer ton commentaire ?
Les feuilles de styles et même tous les fichiers sont éditables directement sur le serveur aussi, sans passer par le panneau admin.
Ha ben j'ai installé les 2 en vitesse et je suis charmé par Modx Revolution.

Jsuis super content ... enfin ... jdois encore tester à fond mtn Smiley lol


Arialia a écrit :

un petit snippet :
<?php
return date('Y-m-d');

appelé 'today'


NB: Super les "snippet" :d au fait Arialia c'est quoi la différence entre [ Smiley today ] et [[!today]]
Modifié par subran (11 Jul 2011 - 17:05)
Mabelle a écrit :

Tu peux développer ton commentaire ?


C'était plus une question qu'un commentaire. Smiley cligne

subran a écrit :
Waouw jb_gfx, ton site est ... TOP!

Tu utilises un CMS ou tu en conseilles un en particulier ? Ou tu crée ton propre CMS ?


Merci mais il est loin d'être top. Mais la prochaine version le sera. Smiley cligne
Il est développé avec mon framework personnel pour des raisons d'autoformation et de contrôle de l'architecture.

Pour choisir un CMS : ça dépend surtout de ce que tu veux faire, de la complexité et des exigences du projet. Et de la compétence et des moyen du client.

Mais personnellement je préfères les solutions simples (mais pas simplistes) et légères. Wordpress est de plus en plus sympa à ce niveau.
Modifié par jb_gfx (11 Jul 2011 - 17:44)
jb_gfx a écrit :
CMSMadeSimple c'est pas ce CMS dans lequel il faut passer par l'admin pour éditer les feuilles de styles ?

@Ariala: mon Dieu que c'est moche ! Y'a pas moyen de garder une séparation entre la logique et l'affichage dans ModX ?


Je comprends pas ... si justement , la logique se passe dans les snippets et plugin,
les snippets sont des petits programmes en php qui ont accès à l'api modx et servent en général à extraire les données et générer le html suivant un certain shéma, le snippet en fourni toujours un par défaut mais que tu peux changer
les plugins sont des programmes php qui sont déclenchés en fonction d'évenement système , par exemple pour avoir un éditeur riche dans le back-end il faut un plugin richtext ( pour revo les seuls disponibles est Tinymce pour le contenu et codemirror pour l'édition de code ( chunk, snippet, plugin et édition de fichier (php, css ... ) )

Après tu assembles ton html et tes briques de snippets dans les templates
c'est les paramètres qui te font peur ? Souvent par défaut il n'y en a pas, mais c'est rare que le comportement par défaut convienne ... faut avouer que ce snippet est costak aussi , récupération de toutes les ressources de type 'agenda' du site avec un modèle de rendu différent pour le premier élément.

@subran : dans revo toutes les balises modx sont avec des doubles crochets [[]] contrairement à evolution.
Justement, le balisage ne devrait être fait que dans le template, qui ne devrait contenir que du HTML et quelques conditions/boucles simples en PHP (ou dans le cas de modx en Smarty). Ce système de surcharge du HTML dans un plug-in est juste horrible, ça va à l'encontre des bonnes pratiques de développement qui voudraient une séparation claires entre les différentes couches : contenu (HTML), mise en forme (CSS), logique (traitement des données), données (lecture, insertion, mise à jour en base de données ou fichiers).

Tu veux un balisage différent sous certaines conditions : tu crées une nouvelle vue. Mais surtout tu ne vas pas patcher le HTML à la volée en PHP.
Modifié par jb_gfx (11 Jul 2011 - 18:42)
Non là c'est pour modifier le html généré par tinymce, je sais il aurait fallu modifier tinymce lui-même mais c'était plus simple de spécifier une classe d'image et de faire un plugin comme cela. Après tout on fait bien de la manipulation du html avec le javascript, je ne vois pas pourquoi on ne ferait pas de même avec le php.

De plus on utilise php pour générer du html à partir de bbcode, je ne vois pas en quoi ça diffère.
Pour la raison que j'ai invoquée plus haut : séparation des différentes couches. Comme on n'utilise plus de balises et d'attributs de mise en forme directement dans le HTML. C'est exactement le même principe.
Pages :