Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] modules communs

Posted by laurentb on 09/19/2013 18:21

Bonjour, Je souhaite développer différentes applications combinant des modules communs.

parmis ces modules, il y le module par défaut, avec une interface d'administration commune.

Je pensais mettre tous ces modules dans un repertoire jelix/lib/modulespartages.

Dans un premier temps, j'ai fait un essai en ajoutant un module dans jelix/lib/jelix-modules puis j'ai indiqué dans jelix/monAppli/var/config/defaultconfig.ini.php

startModule=mondulepartage
startAction="default:index"

resultat : ma modification n'est pas pris en compte, j'arrive toujours à la page d'accueil du module pas défaut de l'application.

Est-ce un problème de syntaxe / paramétrage dans un fichier, ou est-ce un problème d'architecture générale ? dois-je faire tout autrement ?

Par avance merci de vos conseils.

Laurent

  [Opened] modules communs

Reply #1 Posted by foxmask on 09/19/2013 21:29

Bonsoir,

en premier lieu on ne met RIEN dans le dossier jelix . Si demain vous mettez à jour Jelix avec une nouvelle version, vous allez remplacer le dossier jelix par celui fourni et pouvez par accident perdre vos modules.

Donc on laisse le dossier jelix pépère dans son coin et on le fera évoluer au gré cdes versions jelix uniquement

Ensuite pour les modules communs, c'est un sujet récurrent ces temps ci ;)

Partons d'une application jelix nommée laurentb qu'on aura créé comme ceci :

php createapp.php /chemin/vers/le/nouveau/répertoire/de/laurentb

qui donnerait ceci

  laurentb/
     modules/      
     plugins/      
     responses/    
     var/config/   
     var/log/      
     var/themes/   
     var/overloads/ 
     www/

auquel je rajoute un dossier communs à tous mes modules:

  laurentb/
     commons_modules / <= le dossier dédié aux modules communs
     modules/      
     plugins/      
     responses/    
     var/config/   
     var/log/      
     var/themes/   
     var/overloads/ 
     www/

L'application laurentb étant l'application par defaut ; jelix s'est chargée de la mettre dans le fichier de configuration je n'ai rien à faire.

Ensuite pour que les modules communs soient trouvés par jelix, il faut :

  • les y installer (forcément ;) en les y copiant ou en créant le module par :
php cmd.php createmodule unnouveaumodule
  • et ajouter au fichier de configuration de l'application defaultconfig.ini.php le chemin vers

laurentb/commons_modules comme ceci :

avant la modification du fichier on doit voir ceci :

modulesPath = lib:jelix-modules/,app:modules/

ensuite ca donnera ceci

modulesPath = lib:jelix-modules/,app:modules/,app:commons_modules/

Jelix, grâce au namespace "app:", sait qu'il devra chercher les modules à partir de "laurentb"

voilà avec ca ca ira comme sur des roulettes.

pour le forum HaveFnuBB sur mon site j'ai carrément descendu le dossier des modules communs de 2 repertoires, idem pour jelix ca donne

/commons_modules (modules communs)
/lib (jelix)
/havefnubb (forum)

et par le jeu des modulesPath et libPath j'ai mis

modulesPath = lib:../jelix-modules/,app:modules/,app:../commons_modules/

voilà ;)


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] modules communs

Reply #2 Posted by laurentb on 09/20/2013 07:36

Bonjour Foxmask merci pour ta réponse.

on ne met RIEN dans le dossier jelix

On n'est bien d'accord c'était juste pour un test de principe sans avoir a toucher au modulesPath.

les modules communs, c'est un sujet récurrent ces temps ci

Tant mieux, génial ! Je suis jélix de puis sa première année. A l'époque, après avoir mis au point un petit framework perso en php4, data driven, avec "crud auto et compilation de fichiers php", j'ai été subjugué par Jelix, par l'intelligence du code : très grand respect ! Puis après avoir commencé à manupuler un peu Jelix, j'ai dû, pour des raisons professionels (très gros horraires) le mettre de coté. Aujourd'hui je monte une entreprise de conseils en innovation. Jelix est un super outil pour faire de la preuve de concept opérationnel, c'est pourquoi je m'y remet avec plaisir. "De retour" après plusieurs années je suis surpris/déçu que Jelix n'est pas explosé, ne soit pas devenu Une référence (pour ne pas dire plus) ! Je pense que la puissance de Jélix n'est pas perçu. Je ne suis pas informaticien, je suis plus un ingénieur en mécanique qui s'y connait un peu en informatique. Question programmtion objet je suis plus à l'aise en python qu'en PHP. j'ai eu du mal à utilisé l'api (merci e-media), je n'ai trouvé que le tutorial de la newsletter qui est loin de mettre en oeuvre toutes possibilités de Jelix. Heureusement la doc est bien faite et la communauté très réactive ! Tout ça pour dire qu'il faut quand même une bonne motivation pour se mettre à jélix. Lorsque je me suis absenté de jelix (juste après la première sortie de havefunbb :) ) la stratégie marketing reposait, si je ne me trompe pas, sur le développement de killer applications. Aujourd'hui je ne vois toujours que havefunbb. Alors je me dis que ce qui manque peut être un moyen pour rendre plus accessible la puissance de Jelix : Je pense à une surcouche graphique de jelix (utilisable dès l'installation de jelix) qui permette :

  • gestion des modules (comme wordress gère les plugins)
  • des skins de base pour apllications (css et templates)
  • mise en ouvre simple du module de communauté
  • un système de crud étendu qui gère les sous menu
  • une gestion des droits qui gère des droits pour l'application(jacl2) mais aussi par projets(de type platefome de travail collaborative : phpcollab par exemple dans laquelle le proprétaire du projet peut modifier les droits des membres du projet en fonction de profiles).
  • une mise en avant des fichiers de configuration et la possibilité de les éditer en ligne.

J'ai d'autres idées et je vois à peu près comment faire tout ça (à peu près) et c'est ce que petit à petit, je vais mettre dans mon/mes modules communs que je développe pour mes projets d'appli (mon soucis et de le faire proprement, en utilsant le plus possible des possiblités natives de jelix). J' appelles ça Jidew (Jelix ide Web), le but est de permettre le dévelppement très rapide d'applications data driven. Je me suis totalement éloigné du sujet du topic, désolé ! tout ça pour dire que le fait que les modules communs soient d'actualité me semble être de très bonne augure !

Concernant ton mini cours, je vais le suivre pas à pas ! si j'ai un soucis, je retournerais vers toi ...

En tout cas, merci de la qualité de ta répopnse. A bientôt Laurent

  [Opened] [Résolu !] modules communs

Reply #3 Posted by laurentb on 09/20/2013 09:50

Merci ! c'est bon ! ça fonctionne nikel ! :)

  [Opened] modules communs

Reply #4 Posted by e-media on 09/20/2013 10:34

Bonjour,

Je pense que tu fais le bon choix @laurentb.

Effectivement selon moi ce que je pense depuis 2007 ou je me suis intéressé aux frameworks existant sur le web (montée en puissance et balbuciements) :

Ce qui fait la force de ce framework JELIX :

  • C'est que ljouanneau ai fait un fork de copix
  • Parce que c'est un framework (un facilitateur de développement, avec un cadre rigoureux mais évolutif )
  • Sa documentation
  • L'optimisation de son code
  • Ses concepts, sa structure interne, son évolutibilité, sa flexibilité.
  • La qualité de sa communauté
  • L'écoute de ljouanneau qui intégre tes évolutions si elles sont pertinentes et apportent un plus.

Si c'est ce que tu cherches tu devrais être servi.

Après il existe d'autres solutions, à chaqu'un son libre arbitre dans le choix.

Après le nombre ne fait pas la qualité, mais tous ne sont pas des "Moutons de Panurge".

Tu verras à force de lecture des docs, de tests, de plantages, de questionnements, de recherches, sa structure te paraîtra LIMPIDE. Il faut persévérer toujours... et garder son esprit critique (au sens propre du terme), être curieux et ne pas avoir peur de mettre les mains dans le cambouis (si j'ose dire ;-) ).

@+ e-media


e-media

 
Page
  1. [Résolu !] modules communs