Mettre en place un serveur SVN

10 December 2006

Sur la machine sur laquelle vous voulez faire tourner le serveur, suivez les Ă©tapes suivantes :

* Installez subversion.

* Créez un répertoire dans lequel vous voulez stoquer les fichiers du serveur SVN et placez vous dans ce répertoire

> mkdir
> cd svn

* Créez ensuite un dépÎt SVN

> svnadmin create projets
> cd projets

* Modifiez les fichiers de configuration

> edit svnserve.conf
Il vous suffit en fait de supprimer tous les # mais pas les ###

* Dans le mĂȘme rĂ©pertoire (conf) crĂ©ez un fichier passwd contenant le texte suivant (adaptĂ© bien sĂ»r Ă  vos besoins)

[users]
monlogin = monmotdepasse
monautrelogin = monautremotdepasse

* Démarrez le démon svn en lui donnant le dépÎt que vous avez créé plus haut comme argument

svnserve -d -r ~/svn/projets/

* Vous pouvez ensuite accĂ©der Ă  votre serveur svn en ligne de commande depuis l’ordinateur client… mais autant utiliser une belle interface graphique.


Configurer Eclipse* Allez dans Help>Software updates>Find and Install
* Cliquez sur search for new features
* Ajoutez un nouveau site disant (remote site) du nom de Subclipse (http://subclipse.tigris.org/update)
* Installez subclipse qui vous apportera le support du svn

Accéder à votre serveur SVN dans Eclipse

* Allez dans Go to Window>open Perspective>new et choisissez SVN repository exploring.
* Cliquez avec le bouton droit dans SVN Repository et cliquez sur add>new repository.
* Dans url mettez le nom complet de votre serveur svn (par exemple svn://monpc.mondomaine.org/)$$Vous pouvez aussi crĂ©er des sous rĂ©pertoires si vous voulez plusieurs projets sur votre mĂȘme serveur… mais je n’en parlerai pas ici). root url est la mĂȘme adresse.
* Entrez votre login et mot de passe comme décrit dans le fichier passwd ci-dessus.

Partager un projet sur SVN

* Allez dans votre perspective de développement favorite (par exemple Java perspective).
* Cliquez avec le bouton droit sur la racine du projet Ă  partager.
* Allez dans Team>Share project.
* Choisissez SVN
* Choisissez votre dépÎt svn.



Les mots de passes SVN sont stockées ici :
C:\Documents and Settings\your_username\Application Data\Subversion\auth\svn.simple\
Supprimer tous les fichiers de ce repertoireSubclipse redemandera ainsi votre login et mot de passe pour votre repository.


ExĂ©cuter svnserve en tant que serviceSi vous ĂȘtes concernĂ© par avoir toujours un utilisateur connectĂ© sur votre serveur, ou inquiĂ©tĂ© que quelqu’un arrĂȘte svnserve ou oublie le relancer aprĂšs un redĂ©marrage, il est possible d’exĂ©cuter svnserve comme un service Windows en tant que service windows. À partir de Subversion 1.4, svnserve peut ĂȘtre installĂ© comme un service windows natif, dans les versions prĂ©cĂ©dentes, il peut ĂȘtre installĂ© en utilisant un wrapper.

Pour installer svnserve en tant que service natif de Windows, exĂ©cutez la commande suivante en une ligne pour crĂ©er un service qui sera dĂ©marrĂ© en mĂȘme temps que Windows.

sc create svnserve binpath= “%SVN_HOME%\bin\svnserve.exe –service –root E:\Java\svn\projets” displayname= “Subversion” depend= tcpip start= auto


Set the Subversion proxy settings. Edit the file C:\Documents and Settings\Administrator\Application Data\Subversion\servers (using notepad) and set the proxy settings at the end of the file. Typically, this will read:[global]
http-proxy-host = foubert
http-proxy-port = 3128
http-proxy-exceptions = localhost, 127.0.0.1

Dependency walker
Outil permettant de voir les dĂ©pendances entre les .dll et .so notamment pour les modules d’apache



Installer svn accesible via Apache

LoadModule dav_module modules/mod_dav.so

ajouter
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

#
# Repository for svn
#

DAV svn
SVNPath “E:/Java/svn/projets”
SVNIndexXSLT “/svnindex.xsl”
#SVNAutoversioning on

# Indique comment authentifier les utilisateurs
AuthType Basic
AuthName “RĂ©fĂ©rentiel Subversion”

# fichiers des utilisateurs
AuthUserFile “E:/Java/svn/projets/conf/utilisateurs.txt”
Require valid-user

# fichiers des permissions
AuthzSVNAccessFile “E:/Java/svn/projets/conf/authz”
ErrorDocument 404 default

Order allow,deny
Allow from all


Related links:

http://hugo.developpez.com/tutoriels/outils/subversion/

RequĂȘte WebService en HTTPS avec JMeter

1 December 2006

Pré-requis :
Suppose avoir Ă  disposition le keystore XXX.p12
Ainsi que le certificat d’autoritĂ© correspondant Ă  ce keystore XXX.crt

Configuration

Installer le crt dans le keystore de votre jvm
%JAVA_HOME%\bin\keytool –import –keystore %JAVA_HOME%\jre\lib\security\cacerts

Modifier jmeter.properties afin de le faire pointer sur le bon trustore

#—————————————————————————
# SSL configuration
#—————————————————————————

#Classname of the ssl provider to be used (to enable testing of https urls)
#And the package name where Stream Handlers can be found
#These provided defaults can be uncommented, and they will work if you are using
#Sun’s JSSE implementation.

#ssl.provider=com.sun.net.ssl.internal.ssl.Provider
#ssl.pkgs=com.sun.net.ssl.internal.www.protocol

#The location of the truststore (trusted certificates) and keystore ( if other than the default.
#you can uncomment this and change the path to the correct location.
#javax.net.ssl.trustStore=/path/to/cacerts
#javax.net.ssl.keyStore=/usr/java/jdk1.5.0_02/jre/lib/security/cacerts
<strong>javax.net.ssl.trustStore=E:/Java/jdk1.5.0_09/jre/lib/security/cacerts</strong>  #The password to your keystore #javax.net.ssl.keyStorePassword=changeit  #Flag for whether to output debug messages to System.err #To enable it, set the value to "all"  Note, for it to work with #JSSE, it needs to be done from the Java command (i.e. -Djavax.net.debug=all) #javax.net.debug=all

Lancer Jmeter.bat

Dans le menu Options>Gestionnaire SSL importer le fichier XXX.PKCS12, rentrer votre mot de passe.

Pour pouvoir faire des requĂȘtes WebServices installer Javamail, c’est Ă  dire placer mail.jar et activation.jar dans le rĂ©pertoire lib/ de JMeter

Vous pouvez enfin commencer Ă  crĂ©er vos requĂȘtes WebService ou SOAP/XML-RPC

Nota : en SOAP/XML-RPC avec weblogic, il se peut que vous obteniez cette stacktrace qui signale problĂšme de parsing de fichier xml dans ce cas faire le teste en mode WebServices

<strong>Failure while unmarshalling message: error: Illegal XML character: 0×0</strong>
com.bea.xbean.piccolo.io.IllegalCharException: Illegal XML character: 0×0
at com.bea.xbean.piccolo.xml.XMLReaderReader.read(XMLReaderReader.java:169)
at com.bea.xbean.piccolo.xml.PiccoloLexer.yy_refill(PiccoloLexer.java:3474)
at com.bea.xbean.piccolo.xml.PiccoloLexer.yylex(PiccoloLexer.java:3958)
at com.bea.xbean.piccolo.xml.Piccolo.yylex(Piccolo.java:1290)
at com.bea.xbean.piccolo.xml.Piccolo.yyparse(Piccolo.java:1400)
at com.bea.xbean.piccolo.xml.Piccolo.parse(Piccolo.java:714)
at com.bea.xbean.store.Locale$SaxLoader.load(Locale.java:3435)
at com.bea.xbean.store.Locale.parseToXmlObject(Locale.java:1323)
at com.bea.xbean.store.Locale.parseToXmlObject(Locale.java:1310)
at com.bea.xbean.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:360)
at com.bea.xml.XmlObject$Factory.parse(XmlObject.java:733)
at com.bea.wli.sb.context.SOAPMessageImpl.parseCheckEnvelope(SOAPMessageImpl.java:806)
at com.bea.wli.sb.context.SOAPMessageImpl.unpack(SOAPMessageImpl.java:561)
at com.bea.wli.sb.context.SOAPMessageImpl.getBody(SOAPMessageImpl.java:185)
at com.bea.wli.sb.context.BodyVariable.getTypedValue(BodyVariable.java:33)
at com.bea.wli.sb.context.BodyVariable.getTypedValue(BodyVariable.java:19)
at com.bea.wli.sb.context.SystemVariable.getValue(SystemVariable.java:46)
at com.bea.wli.sb.context.MessageContextImpl.getProperty(MessageContextImpl.java:198)
at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.getVariables(XQueryExprExecutor.java:128)
at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.execute(XQueryExprExecutor.java:75)
at com.bea.wli.sb.stages.expressions.xquery.XQueryExprExecutor.executeJavaObject(XQueryExprExecutor.java:90)
at stages.logging.runtime.ReportRuntimeStep.processMessage(ReportRuntimeStep.java:92)
at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:310)
at com.bea.wli.sb.pipeline.PipelineStage.processMessage(PipelineStage.java:100)
at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:601)
at com.bea.wli.sb.pipeline.Pipeline.processMessage(Pipeline.java:73)
at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:601)
at com.bea.wli.sb.pipeline.PipelineNode.doRequest(PipelineNode.java:47)
at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:57)
at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:601)
at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:141)
at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:129)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:661)
at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:660)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:658)
at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:634)
at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:256)
at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:213)
at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:161)
at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:165)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3153)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1311)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)

tags CVS

30 November 2006

Dans CVS, Ă  mettre en en-tĂȘte des fichiers java avant de commiter

/*
* Chantier : Nom du projet
* $RCSfile$
* $Revision$
* $Date$
* $Author$
*
* $Log$
*/

package com.societe

/**
* Description détaillée pour la javadoc
*
* @version $Revision$ , $Date$
* @author $Author$
*/

public class …. {

/** CVS ID */
public static final String CVS_ID = "$Id$";


}

HermesJMS configuration

18 November 2006

Voici un exemple de configuration de l’outil HermesJMS pour Weblogic

configJMS

Cryptage SSL

6 November 2006

Voici un article trÚs intéressant et trÚs compréhensible sur le SSL, ici

Changer le port de la console OracleXE

22 October 2006

Voici comment changer le port http de la console d’administration d’Oracle 10g (XE Express Edition) qui par dĂ©faut est Ă  8080 (http://localhost:8080/apex); port qui peut ĂȘtre dĂ©jĂ  utilisĂ©, comme par exemple par tomcat


Ouvrir une console Dos

(ou aller dans Sql Demarrer>Programmes>Oracle Database10g Express Edition>Exécuter la ligne de commande SQL)

Taper

C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Jun 10 18:28:19 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production


Pour visualiser le contenu de la table qui contient la donnée recherchée :

SQL> select dbms_xdb.gethttpport() from dual;
DBMS_XDB.GETHTTPPORT()
———————-
8080

SQL>

Pour connaßtre la liste des ports occupées taper dans une autre console DOS

C:\>netstat -an | find “TCP”

Pour changer le port taper dans la premiĂšre fenĂȘtre DOS, taper (procedure SQL):

SQL> exec dbms_xdb.sethttpport(7080)

ProcÚdure PL/SQL terminée avec succÚs.

Vous pourrez ainsi vous connecter à la console OracleXE à l’adresse http://localhost:7080/apex

Aqualogic - The future is Liquid

21 October 2006

Aqualogic est une gamme de produits développés par BEA, dont les principaux sont :

Aqualogic Service Bus (ALSB) qui est un ESB servant à intégrer et gérer des Services pour une SOA.

Aqualogic Data Service Platform (ALDSP) qui permet d’accĂšder Ă  des sources de donnĂ©es hĂ©tĂ©rogĂšnes, afin de les rassembler dans une meme vue de maniĂšre transparente.

Aqualogic Service Registry (ALSR) qui permet de recenser l’ensemble des services disponibles d’une entreprise.

AquaLogic Enterprise Security qui n’est pas encore commercialisĂ© en Europe.

LancĂ©e par Gartner Group, la notion de SOA (pour architecture orientĂ©e services) dĂ©finit un modĂšle d’interaction applicative mettant en oeuvre des connexions en couplage lĂąche entre divers composants logiciels.

ALSB est la solution ESB (Entreprise Service Bus) payante, proposĂ©e par BEA, pour rĂ©pondre aux besoin des entreprises pour la modĂ©lisation SOA. Mais il faut savoir qu’il existe notamment des ESB open-source tel que : ServiceMix, Celtix, etc… qui cependant, ne prĂ©sente pas la mĂȘme simplicitĂ©, et intituivitĂ© que propose ALSB via sa console d’administration web.

Le produit Aqualogic Service Bus 2.5 s’appuie sur weblogic9.2, une jdk1.5 et propose workshop9.2 comme IDE.

Par dĂ©finition, le bus permet de rĂ©ferencer l’ensemble des wsdls ou webservices, de crĂ©er des Business Services liĂ©es Ă  ses services, pour ensuite crĂ©er des Proxy Services qui s’appuient sur ces Business Services. C’est au niveau des Proxy Services que la notion de MessageFlow apparaĂźt alors. Il s’agit du pipeline qui va permettre de transformer le message XML, au niveau de la request ou de la response, avant ou apres avoir routĂ© vers le service appelĂ©. Ce pipeline peut comporter des branches conditionnelles, des errors handlers, des services call-out, le message peut aussi ĂȘtre transformĂ© par des transformations XQuery.

Installer un serveur FTP

23 September 2006

Voici une documentation qui explique comment mettre en place Apache FTP Server et l’installer en tant que service NT

ApacheFtpServer

JVM Options

11 August 2006

Options utiles JVM pour weblogic :

-hotspot
-Xms512m
-Xmx512m
-Dweblogic.ProductionModeEnabled=
-Dweblogic.webservice.verbose=true

Auto-increment avec Oracle

17 July 2006

Voici un rappel sur comment créer une table avec une clé primaire auto-incrementée

* Tout d’abord crĂ©er la table avec l’id qui sera auto-incrementĂ©

create table my_test (
id number,
my_test data varchar2(255)
);

* Puis creer une sequence en spĂ©cifiant l’id de dĂ©part et le pas de l’incrementation
create sequence test_seq
start with 1
increment by 1
nomaxvalue;

* Puis crĂ©er le trigger qui se declenchera avant chaque insertion dans la table, et associera l’id Ă  la derniere sequence obtenue
create trigger test_trigger
before insert on my_test
for each row
begin
select test_seq.nextval into :new.id from dual;
end;
/

* Enfin tester une insertion
insert into my_test values(test_seq.nextval, ‘voila!’);


WordPress database error: [Table 'foubert.wp_ss_stats' doesn't exist]
INSERT INTO wp_ss_stats (remote_ip,country,language,domain,referer,resource,user_agent,platform,browser,version,dt) VALUES ('54.146.47.178','Indeterminable','empty','','','/wordpress/index.php?paged=2','CCBot/2.0 (http://commoncrawl.org/faq/)','Indeterminable','Crawler/Search Engine','Indeterminable',1498225022)