Code avec Drupal

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Jusqu'à présent, je développais des sites avec np++. Drupal est le premier CMS que j'utilise.

En utilisant Drupal,J'aimerais savoir comment faire pour "coder" un site avec html/css javascript et php.
Il n'y a pas une feuille de style quelque part ? pas d'index ?
Si l'on souhaite créé un nouveau menu dans un div avec des li ayant un id ou une classe, comment fait-on ??
Doit t'on obligatoirement passer par l'interface d'administration Drupal pour tout?
Peut-on partir d'une page blanche, vide, au lieu d'avoir la banniere bleu avec le logo Drupal ??

Où sont recensé les sites, peut on en créer plusieurs ? comment ?

Merci d'avance

Bonjour,

Bienvenu dans l'univers de Drupal!

Effectivement sur tu développais tes sites from scratch avec notepad++, Drupal vas te changer la vie.

Drupal est un Cms (un outil qui te permet de gérer du contenu) et non pas un framework.

La plus part des choses dans Drupal sont gérées par l'administration, ce qui simplifie et facilite grandement les modifications à apporter à ton site.

Pour démarrer je te conseil vivement de lire la doc sur Drupal pour comprendre comment il fonction.
http://drupalfr.org/documentation

Salut,

Même en lisant la doc, je n'arrive pas à trouver réponse aux question de mon premier post.

Si on ne code pas avec du html/css javascript et php, malgré les différents thèmes, tout les sites se ressemblent plus ou moin, non ?
Si on veut mettre un menu en flash dans le site, comment fait-on ? ou créé un nouveau menu dans un div avec des li ayant un id ou une classe, comment fait-on ?

-> Peut-on partir d'une page blanche, vide, au lieu d'avoir la banniere bleu avec le logo Drupal en guise de "site" ?? <-

Merci pour tes réponses.

salut

par rapport à tes questions, je pense que tu n'a pas besoin de CMS. Si tu as besoin de facilités, essaye des framework (cakephp, symphony, etc...) mais si tu n'a pas besoin d'automatisation php/MySQL, tu n'a pas besoin de CMS ^^

En fait, lorsque tu créés un site complet de A-Z, c'est bien. Lorsque tu créés un deuxième, tu ne le développe plus de A-Z, mais tu utilises le travail que t'as déjà fait sur le premier et tu ne développes que ce qui change, non ? Voilà, en fait Drupal répond déjà à tous les cas principaux lorsque l'on créé un site. Il n'est pas fermé dans le sens ou tu es prisonnier d'un outil mais tu dois comprendre sa logique, au même titre que tu dois comprendre la logique de php avant de coder.

Si tu as un peu de culture "étudiant", tu as du entendre parler du modèle MVC ? Si ce n'est pas le cas, il s'agit de bien séparer le contenu du site (les articles, photos, etc.) du contenant (graphisme, position des bloc, etc.). Drupal s'appuie sur cette logique, et c'est cool. Tu peux ainsi développer tes propres modules, thèmes, plus.

En gros, tu as donc :

  • des modules (newsletter, gestion d'utilisateurs, etc.), qui te permettent de réaliser des traitements puissant sans développer, car ça a déjà été développer par d'autres personnes. Maintenant si tu te dis que tu n'utilisent que ce que tu développes car tu sais comment ça marche alors tu fais un bond dans les années 2000, ce que je te déconseille fortement car tu auras toujours un retard énorme sur n'importe quel utilisateur non développeur qui utilise un CMS (imagine le drame).

  • des thèmes : qui te permettent de créer un visuel à partir de 0.

  • le core : le coeur de drupal et sa bibliothèque d'includes. Bref tous l'api de drupal.

Mais le vrai truc, c'est de te poser la question "qu'est-ce que tu veux faire ?". Moi je n'ai pas encore pris en main le code de drupal car je n'en ai pas besoin, pour le moment. Sinon mon avis est le suivant :

  • Si tu dois faire des sites puissants, genre site vitrine (avec plein de fonctionnalités en tout genre), rapide et simple utilise Joomla
  • Si tu dois faire un blog simple ou puissant, utilise Wordpress
  • Si tu dois faire un site d'actualité du type france24 ou autres, utilise Drupal.
  • Si tu dois faire un site e-commerce utilise Joomla+Virtuemart, prestashop, magento
  • Si tu dois faire un crm, utilise SugarCRM ou Vtiger

Il en existe des tonnes de cms, crm, ems, erp, etc. Bref si tu ne trouves pas ton bonheur, utilises un framework php comme Zend ou Symphony, mais dans ce cas tu ne veux pas faire de sites internet.

Mais quoi qu'il en soit, que tu te lances dans Drupal, Joomla, Wordpress ou autre, tu dois d'abord comprendre la philosophie d'un CMS, pourquoi on en est arrivé là, quels sont les avantages et inconvénient (l'inconvénient n'est pas "je ne controle pas le code ou je ne peux pas faire ce que je veux). Utiliser un CMS ne signifie pas que tu codes plus mais que tu codes que ce que ne fais pas le CMS (imagine que tu veux insérer ton menu flash). Quoi qu'il en soit, si tu veux être dans le coup, c'est à dire pas démodé tu as raison de t'intéresser à ce type de technologies.

Merci pour vos réponses scylla et kurkaine;

kurkaine,

J'ai utiliser un framework en entreprise, c'était donc du développement pur.
Je suis encore dans mes études (21 ans), je vois ce qu'est un MVC, MPD, MLD mais je n'apprends pas Drupal, c'est moi qui de ma propre initiative m'y intéresse à coté.

A présent, je comprends mieux la logique d'un CMS comme Drupal avec les modules qui permettent d'utiliser des "solutions" déjà coder. C'est vrai que c'est plus rapide et plus sur que de tout faire, ou encore de modifier un ancien code similaire à la demande.

Nous pouvons apparemment développer nos propre modules, je n'ai pas encore regardé, c'est intéressent. J'avais peur que le CMS "tue" le travail du développeur qui est, à l'origine, le code...

Grâce à toi, je vois un peu mieux la logique et l'utilité de l'outil, cependant j'ai encore du mal à voir l'utilisation en pratique car si on ne fait pas de créa et qu'on ne code pas nous même quelques trucs (div, menu, par ex.), on risque de se retrouver avec des sites à thèmes qui se ressemblent, ça ne doit pas faire très "pro", non ?

Certes cela m'a l'air très puissant avec l'histoire des modules entre autres... mais d'un autre coté, ça m'a l'air très "débutant" car ça me fait penser au kit graphique avec un espace où mettre du texte...

Coder ce que Drupal ne fait pas....
Serait-il possible de commencer un site traditionnellement (créa+code) et de faire appels aux modules dans certaines pages, dans des endroits choisis ?

Merci beaucoup, ta réponse était bien structuré :)

Si tu es étudiant, tu as du déjà voir ce site "http://www.ubuntu-fr.org/", en full drupal.

J'imaginais que tu avais 21 ans, ce que je voulais bien te faire comprendre c'est que développer peut-être un plaisir réel et se dire que si l'on utilise un CMS alors on ne code plus, c'est faux. Au contraire, on ne code que ce qui n'existe pas.

Avant tout, pour te répondre qu'est-ce qu'un thème :

  • C'est un fichier html + css + javascrit que tu créés toi même, de A-Z (sauf si tu utilise le thème de quelqu'un). C'est très très très formateur de comprendre. Regarde un répertoire thème, tu verras qu'il contient la structure d'une page (entête, menu gauche/droit, contenu, footer, éléments spéciaux tel que bloc, node, etc.). En fait, tu décomposes ta page comme tu le fais en html avec tes

<

div> imbriqué mais plutôt que de mettre le code pour la page du va mettre "print $footer" (en gros, moi je n'ai aps encore eu l'occasion de m'y mettre au code, je découvre drupal mais j'ai de l'expérience dans les opensource). Du coup, tu n'as pas besoin d'être développeur pour coder un template, tu peux laisser le travail à un infographiste qui gére mieux le design que les autres. Bon, contrairement à Joomla par exemple, les thèmes drupal sont plus complexes. C'est là qu'il faut bien comprendre, comme tu ne mets pas de code proprement dit, si tu me files ton thème (on tu me le vends xD) je pourrais l'utiliser sur mon site. Aussi, tu peux récupérer le template en psd et le coder en theme. Bref, les thèmes sont l'aboutissement d'un constat : séparons le contenu du contenant. Si tu maîtrises les thèmes, alors tu auras appris énormément de choses, comme les Hooks, etc. Crois-moi, c'est très formateur si demain tu dois créer ton CMS ou autre. Si tu vois que c'est trop complexe, pour le moment utilise joomla qui est beaucoup plus simple mais sans pour autant puissant.

  • Imagine que tu dois faire un site d'actualité+gestion de droit et ne me demande pas pourquoi, coupler les annonces immobiliers des agences. Ce que tu vas faire, c'est coder ton site avec Drupal pour mettre en place un système d'actualité avec gestion de droit (et là tu remercies de ne pas avoir à coder ça) mais pour la gestion immobilière couplé avec Drupal : tu développes ton propre module qui sera indépendant de drupal ou non, une application dans une application. Bref, un cms peut répondre à 90% des besoins, mais souvent on te demande les 10% non prévu. Le fort d'utiliser un CMS c'est qu'il répond déjà aux question d'ajout/suppression/modification de contenu en dynamique (n'oublie pas que l'utilisateur final n'est pas informaticien).

Enfin pour ce qui est très puissant/débutant, sache que c'est l'avantage. Un cms comme drupal/joomla/wordpress est très puissant car tu peux réaliser la plupart des sites. Très débutant aussi car tu n'as pas forcément d'avoir des compétences pointues en php/ajax (par contre en css/html) pour créer un site puissant, et heureusement. Par compte si tu veux vraiment être très très pro, t'inquiètes pas, il y'a à faire. Apprends comment se code un module, un thème, et prend en main l'api de drupal/wordpress/joomla et là tu développeras de A-Z dans un environnement cms (ce qui est très puissant/pro).

Je n'ai pas encore regardé le source de drupal et j'espère ne pas avoir à le faire. Cependant je peux te dire que si tu comprends au moins 30% de la théorie du codage, t'as gagné 3 ans au moins de codage (le modèle MVC dans tout sa splendeur).

Sache que Drupal est super complexe à prendre en main contrairement à joomla ou il te faut 2 jours. Wordpress à l'air aussi très simple, mais je n'ai pas eu l'occaz de l'utiliser.

Bon courage.

Hello, désolé de mon absence du week-end :)

Je rejoins kurkaine dans ses propos.

Un cms c'est un outil, mais pas un framework type cake, synphony même si Drupal tend à le devenir. Drupal va te permettre de créer des sites plus rapidement parce que tu utiliseras des fonctions, des modules déjà développés par quelqu'un. Tu n'auras donc pas besoin de les refaire et tu pourras te concentrer sur ton développement spécifique.

Pour voir des sites réalisés avec Drupal il y a ce site : http://www.drupalsites.net/