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

Développement Web en Java Discussion :

[Stratégie] Configuration sur la PROD et la DEV


Sujet :

Développement Web en Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut [Stratégie] Configuration sur la PROD et la DEV
    Hello,

    dites-moi dans un environnement WEB, ou et comment je fais pour parametrer
    mes differentes variables.

    Je voudrais configurer, des chemins de fichiers, des valeurs par defauts...
    elles sont differentes en fonction de l'environnement.

    Comment puis-je faire ?

    merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Bonjour,

    Voici ce que je fais personnellement:

    Pour chaque environnement (prod,recette, dev)

    J'ai les 2 fichiers suivants:
    web.xml: servlet, mapping, chemin d'access,...
    context.xml: configuration de connexion à la base.

    Lorsque je lance un Build via ant, j'ai 3 fichiers war qui sont créés avec les fichiers correspondant pour chaque environnent.

    Farid.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Okay merci,

    a priori je vais devoir passer par du ANT, je n'y connais rien ca promet.
    Question idiote quand tu créés 3 war, tu dois les renomer avant de
    les installer sur tes serveurs.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    c'est assez simple ant.

    voici par example mon script ant executé sous eclipse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="NOM_DU_PROJECT" default="warfile" basedir=".">
    	<target name="warfile" depends="init">
    		<!-- Prod -->
    		<copy file="${basedir}/warfiles/Prod/context.xml" tofile="${basedir}/WebContent/META-INF/context.xml" overwrite="true"/>
    		<copy file="${basedir}/warfiles/Prod/web.xml" tofile="${basedir}/WebContent/WEB-INF/web.xml" overwrite="true"/>
    		<war destfile="${basedir}/warfiles/Prod/confidence.war" webxml="${basedir}/WebContent/WEB-INF/web.xml">
    			<fileset dir="${basedir}/WebContent"/>
    			<classes dir="${basedir}/build/classes"/>
    		</war>
     
    		<!-- Recette -->
    		<copy file="${basedir}/warfiles/Test/context.xml" tofile="${basedir}/WebContent/META-INF/context.xml" overwrite="true"/>
    		<copy file="${basedir}/warfiles/Test/web.xml" tofile="${basedir}/WebContent/WEB-INF/web.xml" overwrite="true"/>
    		<war destfile="${basedir}/warfiles/Test/recette.war" webxml="${basedir}/WebContent/WEB-INF/web.xml">
    			<fileset dir="${basedir}/WebContent"/>
    			<classes dir="${basedir}/build/classes"/>
    		</war>
    	</target>
    	<target name="init">
    	</target>
    </project>
    Ici les 2 wars sont crées avec leur fichiers respectif.
    Je renomme toujours les war en fonction du context root comme ca je vois tout de suite a quel environnement correspond le war.

    Pour info voici les fichiers de config pour l'environnement de recette. (recette.war)

    context.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/recette" docBase="confidence" debug="5"
    	reloadable="true">
    	<Resource name="jdbc/ConfidenceDB" auth="Container"
    		type="javax.sql.DataSource" username="USERNAME" password="PASSWORD"
    		driverClassName="oracle.jdbc.driver.OracleDriver"
    		url="jdbc:oracle:thin:@ADD_IP:1521:SID" maxActive="100"
    		maxIdle="50" maxWait="-1" removeAbandoned="true" logAbandoned="true" />
    </Context>
    web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	<display-name>confidence</display-name>
    	<welcome-file-list>
    		<welcome-file>Login.jsp</welcome-file>
    	</welcome-file-list>
    	<servlet>
    		<servlet-name>Controller</servlet-name>
    		<servlet-class>com.company.servlet.Controller</servlet-class>
    		<init-param>
    			<param-name>PDFReportPath</param-name>
    			<param-value>/data/crm/reports/recette</param-value>
    		</init-param>
    		<init-param>
    			<param-name>PDFOPMarketingPath</param-name>
    			<param-value>/data/crm/reports/MKGOP/recette</param-value>
    		</init-param>
    		<init-param>
    			<param-name>ContactHistoryTimeZone</param-name>
    			<param-value>Indian/Reunion</param-value>
    		</init-param>
    		<init-param>
    			<param-name>ContactCantonCorrectionZipCodeFilter</param-name>
    			<param-value>974%</param-value>
    		</init-param>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>Controller</servlet-name>
    		<url-pattern>/Controller</url-pattern>
    	</servlet-mapping>
    </web-app>
    Voila quelques debut de piste pour comprendre.

    Farid.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    C'est super sympa merci, tu créés autant de fichier de conf que de plateforme.
    Si j'avais sauvé par exemple la conf d'un serveur de mail (IP/PORT)

    je devrais créer 2 fichiers setup.ini, un pour la prod et un pour la recette ?

    Est-ce que ca veux-dire que tu as un dossier special ou tu stocks tous ces fichiers.

    /WEB-INF
    /CONF
    /PROD
    /TEST
    /DEV

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    A partir du moment ou les fichiers ont des differences, alors oui un fichier par environment.
    L'idée etant quand meme de limiter au maximum la quantite de fichiers car sinon ca devient difficile a maintenir.
    Hors certain cas spéciaux, les 2 fichiers context.xml et web.xml suffise pour contenir les differences d'environnement.

    Context.xml => Root de l'application et connexion a une DB
    Web.xml => les differents parametres comme les chemins d'acces...

    Dans mon environnement de dev (eclipse) j'ai en effet 2 repertoire Prod et Recette qui contiennent les fichiers specifiques a ces environnement. Mais ils sont en dehors de mon project.
    Je n'utilise ces fichier que pour creer le war.

    Concernant ton fichier ini, pourquoi un fichier ini ?
    Definit juste ces parametres dans web.xml et recupere les dans tes servlet.

    Farid.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Okay j'y vois plus clair !

    Je ne savais pas que l'on pouvait mettre dans le WEB.XML ce type d'info.
    Je pensais que la DTD etait plutot strict. Donc si j'ai envies de stocker
    des IP, des ports, des noms de domaines ou des dossiers je peux le faire ?

    Comment fais-tu pour les récupérer dans ta Servlet ?

    Si je ne me trompe pas context.xml est réservé a TOMCAT.

    Merci

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Citation Envoyé par batataw Voir le message
    Okay j'y vois plus clair !

    Je ne savais pas que l'on pouvait mettre dans le WEB.XML ce type d'info.
    Je pensais que la DTD etait plutot strict. Donc si j'ai envies de stocker
    des IP, des ports, des noms de domaines ou des dossiers je peux le faire ?

    Comment fais-tu pour les récupérer dans ta Servlet ?
    Tout a fait.
    Si tu regarde mon fichier web.xml tu verra que j'y mets des valeurs via les <init-param>....</init-param>

    voici un example:
    http://www.exampledepot.com/egs/java...t/GetInit.html

    Citation Envoyé par batataw Voir le message
    Si je ne me trompe pas context.xml est réservé a TOMCAT.
    Merci
    C'est fort probable.
    Ca fait un moment que je n'ai pas travailler avec d'autre server (resin,orion,..)
    a voir sur leur site rescpectif la facon de le faire.

    Farid.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Tu m'as enlevé une grosse épine du pied merci.
    Je vais me former asap a ANT.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Erreurr 404 en PROD mais en DEV sur OVH mutualisé
    Par xiaolong dans le forum Symfony
    Réponses: 1
    Dernier message: 13/05/2013, 16h29
  2. test configuration sur routeur juniper
    Par mmb04 dans le forum Réseau
    Réponses: 0
    Dernier message: 15/01/2009, 17h07
  3. sql serveur 2000 et 2005 sur un meme serveur de DEV.
    Par ylarvor dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/09/2007, 10h24
  4. Réponses: 8
    Dernier message: 12/06/2007, 20h58
  5. Choix d'un panneau de configuration sur dédié (Linux)
    Par onet dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 22/03/2006, 16h46

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