IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Structurer un projet Javascript


Sujet :

JavaScript

  1. #1
    Membre chevronn�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    F�vrier 2003
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 253
    Par d�faut Structurer un projet Javascript
    Bonjour � tous,

    Ce sujet fait suite � un d�but de r�flexion dans le cadre de mon travail, et je n'ai pas trouv� de r�ponses pertinentes apr�s une rapide recherche.

    Dans mon entreprise, nous utilisons Mootools comme biblioth�que Javascript, mais au final je pense que la pr�occupation qui a donn� naissance � ce topic est totalement ind�pendante de la biblioth�que utilis�e, d'o� sa pr�sence sur ce forum.

    En fait, je cherche � �tablir au fur et � mesure des besoins, une biblioth�que de classes Javascript r�utilisables pour les besoins les plus communs (formulaires dynamiques avec cr�ation de champ � la vol�e, menus d�roulants, automatisation des liste select "ajaxo-remplissables" bas�es sur des conventions de nommage des classes...). Bref, c'est une petite biblioth�que qui compte bien grandir, et je me heurte � quelques r�flexions sur l'organisation de ce projet.

    L'id�al pour le d�veloppement serait d'avoir un fichier par classe, organis�es par modules (par exemple ma classe de g�n�ration de formulaire pourrait �tre dans MyCompany/Forms/Dynamic.js, et la classe serait d�finie comme MyCompany.Forms.Dynamic.

    Le probl�me est qu'en production, on utilise un seul fichier Js compact�, pour des raisons de performances. Multiplier les balises scripts serait donc un cauchemar � organiser, et une perte �norme de performances.

    Pour le moment, on utilise un seul fichier (mycompany.js) qu'on utilise en d�veloppement, et qu'on concat�ne avec les biblioth�ques et compacte "� la main" � chaque mise en production. Ce n'est ni tr�s pratique, ni bien organis� : quand la biblioth�que va grossir, retrouver le code � modifier dans un seul fichier Js va �tre une horreur...

    Et je me suis dit que bon, je ne devais pas �tre le premier � me poser la question, alors avant de r�fl�chir � une organisation, voire � cr�er un "compilateur" maison � base de directive require artisanale dans le code source, il �tait de bon ton de questionner un peu les gens sur leurs pratiques

    Comment fa�tes-vous pour organiser vos projets Javascript ? Scripts maisons, IDE disposant de fonctionnalit�s de ce genre, pr�tre vaudou ?

    Merci d'avance !

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    J'aurais tendance � dire qu'il ne fait pas vouloir �tre plus royaliste que le roi.
    Que sont Mootloos ou Jquery et autres sinon des librairies dans lesquelles ont �t� empil�es des fonctions.
    Il est vrai qu'avec JQuery par exemple on peut rajouter des addons...
    Mais je dirais pourquoi ne pas tout simplement regrouper les fonctions soit par th�me si tu tiens vraiment a travailler avec des modules ...
    Mon pragmatisme exacerb� m'aurait guid� vers un seul fichier tronc commun en m'inspirant de ce qui existe... JQUERY y'a tout dedans et on mets une seule balise src pointant vers la librairie qui comporte ajax m�me si on n'utilise pas ajax sur la page par exemple. Il y a un tas de truc dont une majorit�s de gens ne servent pas dans JQuery , en tout cas pas sur une seule et m�me page; personne ne songe cependant a d�composer jquery pour ne mettre en src que les fonctions qui vont servir. Je ne pense pas que le client tapes de la main droite sur son clavier et d�clenche le chronom�tre de la main gauche pour quelques millisecondes.
    C'est un peu le principe de qui peut le plus peut le moins. Honn�tement compiler � chaque fois une librairie sur mesure me semble pouvoir poser plus de probl�mes et cas de modification sur la page qui ferait appel � une fonction ne figurant pas dans la compil ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre chevronn�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    F�vrier 2003
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 253
    Par d�faut
    Merci pour la r�ponse, et j'approuve � 200%. J'avais �galement r�fl�chi au probl�me, et j'�tais arriv� � la conclusion qu'il vaut mieux tout compacter dans un seul fichier, libs + code propri�taire, car les optimiser par page serait ing�rable, et s�rement m�me contre-productif (il ne faut pas oublier le cache navigateur qui en principe fait tout de m�me son r�le... Si le Javascript est le m�me sur chaque page, il n'ira pas le t�l�charger � chaque fois).

    En fait ma question portait plus sur l'organisation des fichiers en d�veloppement : comment organiser ses fichiers pour conserver une certaine lisibilit� et une organisation correcte, sans que chaque mise en production mette des heures ou ne provoque de r�gression.

    Pour illustrer, voici comment je fonctionne actuellement :
    En d�veloppement j'ai deux balises scripts : mootools.js et mycompany.js, de telle sorte que chaque modification soit directement testable en environnement de d�veloppement.

    J'utilise �galement un petit script bash qui concat�ne mootools.js et mycompany.js, et qui le compacte pour l'utiliser en production.

    Ce que j'aimerais, c'est m'approcher au maximum d'une solution qui ne complique pas trop le d�veloppement � long terme (maintenir une bonne organisation (une classe = un fichier), et ne pas compliquer les tests en environnements de d�veloppement) tout en pouvant facilement passer � un seul fichier compact� pour la production (un seul fichier js, identique sur toutes les pages).

    J'esp�re que je suis plus clair, faut dire le sujet n'est pas le plus simple non plus

  4. #4
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Arf, d�sol� !
    Je suis tellement orient� impl�mentation javascript, je n'avais pas saisi que tu �tais en amont au niveau du projet. Je comprends maintenant la probl�matique d'organisation �voqu�e.
    Si je devais avec les moyens du bord g�rer un gros projet de ce genre, j'imagine que je m'orienterais vers une solution php mysql me permettant de g�rer une multitude de bouts de fichiers js qui pourraient etre index�s ou r�f�renc�s par un syst�me des balises commentaires sp�cifiques afin de pouvoir faire un r�f�rencement dans un base table. Je pense que ce syst�me me permettrait � la fois de pouvoir gerer les multiples versions des differents composants de librairies mais egalement au moyen de php la compiler rapidement.
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  5. #5
    Membre chevronn�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    F�vrier 2003
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 253
    Par d�faut
    Merci pour la r�ponse ! Ca se rapproche de ce que je pensais : pas de solutions miracles... Je vais donc me lancer dans une solution de "builder" maison.

    A tout hasard quand tu dis "si je devais avec les moyens du bord", cela signifie-t-il qu'il existe des solutions payantes pour r�soudre ces probl�mes ? Si oui, je suis preneur de quelques noms / pistes, car si elles apportent une r�elle plus-value dans l'organisation et la p�rennit� du projet, la d�pense pourra sans probl�me �tre budg�t�.

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Il existe sans doute des solutions toutes faites et vraisemblablement payantes...
    Et certainement tr�s param�trables sauf l� ou tu aurais besoins de les param�trer...
    Comme j'ai l'habitude de ne jamais trouver ce qui correspond a mes besoins, j'ai tendance � le faire par moi m�me.
    Je pense que php mysql est tout � fait adapt� a ce genre de projet tu peux parser les balises commentaire js dans des fichiers s�par�s, voire mettre directement le code dans la table.
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre chevronn�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    F�vrier 2003
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 253
    Par d�faut
    Bon et bien, j'ai �puis� tous mes pr�textes de ne pas mettre la main � la p�te

    Merci pour ces infos, �a me confirme qu'il n'existe pas encore de solutions qui fait �cole pour le d�veloppement de gros projets Javascript, il va falloir me cr�er la mienne

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 3
    Dernier message: 13/01/2010, 14h28
  2. R�ponses: 11
    Dernier message: 30/04/2008, 10h18
  3. Comment structurer mon projet c++
    Par balteo dans le forum C++
    R�ponses: 5
    Dernier message: 04/04/2008, 17h48
  4. Structure de projet C
    Par Leeelooo dans le forum C
    R�ponses: 9
    Dernier message: 21/04/2007, 17h53
  5. [D�butant] Structure de projet Tomcat
    Par slclinsearch dans le forum Eclipse Java
    R�ponses: 3
    Dernier message: 29/12/2005, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo