Java (Indonesian: Jawa; Javanese: ꦗꦮ) is an island of Indonesia. With a population of 143 million, Java is the world's most populous island, and one of the most densely populated places in the world. [read more at]

  • You can insert some thin shimsbetween the engine and the engine mounts upper holes.(red points) This make the engine lean slightly forward and make the belt go lower down on the clutch bell.
  • Blogg-X is also using my captcha framework for Joomla.... :-)

    • Blogg-X is a cross platform (Mac OS X and Windows XP) blogging and content management tool for websites based on the Joomla! CMS. With it's built in WYSIWYG editor it allows rich content to be posted onto the front page of your Joomla! site eliminating the need for the internet browser and being logged in. Now also allowing easy updates to already posted content and post deletion. If you want to post content quickly and easily Blogg-X is for you. When combined with AkoCommentPlus from Walter Cedric you have a complete, fast, simple and spam free front page blogging solution for Joomla!
  • A SECURITY flaw could allow hackers to eavesdrop on cellphone conversations made on Bluetooth-based wireless headsets was revealed in april 2004...But at that time an expensive piece of hardware was needed. Now it is even worse a simple brute force while the device are doing keyring exchange...

    "Whitehouse showed in 2004 that a hacker could arrive at this link key without knowing the PIN using a piece of equipment called a Bluetooth sniffer. This can record the exchanged messages being used to derive the link key and feed the recordings to software that knows the Bluetooth algorithms and can cycle through all 10,000 possibilities of the PIN. Once a hacker knows the link keys, Whitehouse reasoned they could hijack the device."

    Now the new attack force the  two bluetooth devices to pair, they can work out the link key in just 0.06 seconds on a Pentium IV-enabled computer, and 0.3 seconds on a Pentium-III


  • eclipse_home_header

    Eclipse is an open source community whose projects are focused on building an open development platform
    comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across
    the lifecycle.

    I am using these settings for more than a year now, and the speed gain you can expect is in the range
    of 40%. Eclipse is more responsive, start up time is nearly divided by 2! These gains are reproducible
    on different machines in the office.


    • You must have a dual processor or quad core, (better if you use VMarg1)
    • You must start Eclipse with Java 1.6, note that you can still compile your project with Java 1.5
      (see windows - preferences - java - Installed JRE's)

    The tricks is to use the optimization done in JDK 1.6 (VMarg2) and the new agresivityof the Just In Time
    compiler (JIT) for VMarg3

    Add theses VM arguments to eclipse.ini (file is located in your Eclipse directory)

    -XX:-UseParallelGC -XX:+AggressiveOpts -XX:-UseConcMarkSweepGC

    Some details about what these parameters are doing:

    VMarg1 -XX:-UseParallelGC

    Use parallel garbage collection for scavenges. (Introduced in 1.4.1) this will create more threads running in parallel, so the second processor will be put in use

    VMarg2 -XX:-UseConcMarkSweepGC

    Use concurrent mark-sweep collection for the old generation. (Introduced in 1.4.1)

    The Eclipse GUI will feel more responsive as memory will be reclaimed without blocking VM executions.

    VMarg3 -XX:+AggressiveOpts Turn on point performance compiler optimizations that are expected to be default in upcoming releases. (Introduced in 5.0 update 6.)


    More about tuning Garbage collector HERE and at the Java HotSpot VM Options page

  • eclipse_home_header&160; After the huge success and feedback of my first tips on how to speed eclipse, here are more performances tips, some are obvious some not:

    Disabled/Exclude the virus scanner for the eclipse directory: while obvious It will or may be difficult to achieve if you're not administrator on your machine (while not impossible) and that may not make some people happy especially security officers ;-) It is obvious that scanning on the fly every resources in a workspace, is detrimental for speed. You'll get at least 15 to 20% more raw input output speed and gain 5 to 15% CPU cycles.

    Defragment often: NTFS fragment, File get changed, added or remove, so NTFS will fragment very fast, it is time to defragment&160; your disks. And since there is a lot of free program floating around, why not trying to get the last 20% loses in access time and transfer rate? Defragment at least one time a week your Eclipse workspace.

    Get more memory! Windows Server 64bits or Linux 64bits allow you to start with 3GB contiguous memory without complaining, the more memory the better!

    Get a faster disk for your notebook (western Digital black edition / Seagate momentus 1.3 are cheap), or better build yourself a RAID0 array made of 3 disks as you'll get the IO output of 3 disks. Since we do usually more READ access&160; (searching code, browsing hierarchy of objects) than write (writing code, let the compiler run)

    RAID 0 (striped disks) distributes data across several disks in a way that gives improved speed and full capacity, but all data on all disks will be lost if any one disk fails.

    Stop as many thread as possible that are not needed, in this category go all 3rd party nice to have software you may have authorized or not on your notebook: Google desktop search , Windows desktop search, widgets, Rss feeds... the less threads running in the background the better...

    Change for another operating system :-) Linux file systems are blazing fast compare to the venerable NTFS, and threading seems to be a lot better on any 2.6 Linux Kernel.

  • apache_maven_thumb


    • You want to control Maven during dependency resolution and break the build if some conditions are not met,
    • You want to detect dependencies conflict early during the build,
    • You want to avoid anybody in your team to use the dependency x in the version y

    This is where the Maven Enforcer Plugin will assist you:

    The Enforcer plugin provides goals to control certain environmental constraints such as Maven version, JDK version and OS family along with many more standard rules and user created rules.

    Add in your pom.xml the following to configure the plugin

  • Decouple an abstraction from its implementation so that the two can vary independently.

    from the gang of the four

    Source Code

     * Defines Abstraction interface. Stores reference to implementation.
     * @role __Abstraction
    public abstract class Abstraction {
    	/** Reference to actual implementation */
    	private Implementor impl;
    	 * @return implementation-in-action.
    	protected Implementor getImplementor() {
    		return impl;
    	 * This sample operation delegates call to particular implementation
    	public void someOperation() {
     * Concrete implementation
    public class ConcreteImplementorA extends Implementor {
    	/** @see patterns.gof.bridge.ImplementorsomeOperationImpl() */
    	public void someOperationImpl() {
    		// provide implementation here
     * Concrete implementation
    public class ConcreteImplementorB extends Implementor {
    	/** @see patterns.gof.bridge.ImplementorsomeOperationImpl() */
    	public void someOperationImpl() {
    		// provide implementation here
     * Defines interface for implementation classes. Is not oblidged to provide
     * one-to-one correspondence to interface of Abstraction.
     * @role __Implementor
    public abstract class Implementor {
    	/** Implement this method to provide implementation-specific behavior */
    	public abstract void someOperationImpl();
  • A lot of people have tried numerous times to download files from my download section without
    success, the error message was always the same

    Unrecoverable error "PCLZIP_ERR_BAD_FORMAT (-10)"

    Also, Some tried to unpack the zip file locally using stuffit/Winrar/7Zip and get an error suggesting
    that the archive is damaged.

    Only Internet Explorer users were having issues, this is because of Internet explorer not able to handle
    compression of all file types. I solved the issue by changing my mod_deflate.conf which now look like the following:

    <Location />
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary

    I found that I had to use application/x-javascript instead of application/javascript to actually get javascript files on my
    server to be served compressed.

    mod deflate documentation:

  • Separate the construction of a complex object from its representation so that the same construction process can create different representations.

    Source Code

     * The interface Product defines interface to create parts of the
     * Product.
    public interface Builder {
         * Construct part of the complex Product.
        public void buildPart();
         * Construct the Product.
         * @return the constructed product
        public Product getProduct();
     * The ConcreteBuilder is the product of a concrete builder.
    public class ConcreteBuilder implements Product {
     * The ConcreteBuilderBuilder creates and assembles parts of
     * the Product.
    public class ConcreteBuilderBuilder implements Builder {
         * Reference to Product being constructed
        private ConcreteBuilder concreteBuilder;
         * Construct part of the complex Product.
        public void buildPart() {
            // put your code here
         * Construct the Product.
         * @return the constructed product
        public Product getProduct() {
            return concreteBuilder;
     * The ConcreteBuilderClient initialized the Director with a
     * Concrete Bulder to create the Product and gets result from the Builder.
    public class ConcreteBuilderClient {
         * Use the Builder to create the Product.
        public void createProduct() {
            ConcreteBuilderBuilder builder = new ConcreteBuilderBuilder();
            new Director(builder).construct();
            Product product = builder.getProduct();
    * The class Director manages Product creation using Builder.
    public class Director {
         * Reference to Builder currently used
        private Builder builder;
         * Create a new Director instance.
         * @param builder the builder which will create the product
        public Director(Builder builder) {
            this.builder = builder;
         * Construct the Product using the Builder.
        public void construct() {
     * The interface Product defines a complex object that is
     * constructed part-by-part with Builder.
    public interface Product {
  • CedThumbnails has been updated to version 2.5.2 and contains 2 bug fixes and compatibility for both Joomla 1.7 and Joomla 2.5. For existing users the update will display in the Extensions Manager under Updates. If you do not have this currently installed, you can click the link below and install as normal via the Extensions Manager.

    New ideas/features/bugs are always welcomed either through forums or  by using feedback

    What’s new?

    Update mod_related_items_thumb to 2.5.2:

    • BUG: item route was not working in Joomla 2.5.0+
    • BUG: module CSS class was not propagated to module view default.php

    Full list of changes available in GIT commit c6de1f0c70e834af2d95b4f91ecfbb0260f5a1e6

  • CedThumbnails has been updated to version 2.6.0 and contains 4 new features and correct 1 bug for Joomla 2.5. For existing users the update will display in the Extensions Managerunder Updates. If you do not have this currently installed, you can click the link below and install like you are use to via the Extensions Manager.

  • Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.

    Source code

     * Handles request it is responsible to.
    public class ConcreteHandler extends Handler {
      * Handle request or delegate it.
            public void handleRequest() {
                    boolean canProcessThisRequest = false;                if (canProcessThisRequest) {
                            // handle request if possible
                    } else {
                            // pass it to the next in chain
                            super.handleRequest();                }
     * Defines interface for request handling
     * @role __Handler
    public class Handler {
            private Handler successor;        /** Default request handling */
            public void handleRequest() {
                    if (successor != null) {
                            successor.handleRequest();                }
            public Handler getSuccessor() {
                    return this.successor;        }
            public void setSuccessor(Handler successor) {
                    this.successor = successor;        }
  • sony_playstation_ps3

    Side by side, here are the PS3 lenses that are currently available for your PS3. If you ever decide to change the lens yourself, my best advice is to always open your PS3 first before ordering any new lens as there is no way to determine which model use which lens.

    Attention: PS3 40gb may use a different lens: LENS KES-410A or KES-410ACA (but some ps3 40gb has been found with the other lens KES-400AAA)

    KES-400AAA on the left, KES-410A on the right

    Change your PS3 Bluray lens yourself

    Thanks to Sarah for allowing me to publish this picture on my site.

  • null
    Interesting dicussion on


    Piro Flips with a rotating motion..meaning you would keep executing the flip at a different point, i.e (12:00, 3:00. 6:00, 9:00, 12:00).

    Credit to Augusto (www.)

    "A good controlled sustained piroueting flip will have the rotor disc flipping in the same direction while the tail pirouettes around the main shaft axis.
    Not too many people can do a good sustained piroflip. Most people piroflip and kind of "catch it" over and over so the disc is not flipping in the same direction.
    Now a chaos is a sustained piroflip where the pilot purposely and in a controlled manner does a maintained piroflip and slowly rotates the flipping axis 360 degrees to a full turn of the flipping axis.
    The big deal about this maneuver is that it shows that you have complete control of the sustained piroflip in any orientation of the flipping rotation.
    I have never seen anyone do a real chaos and Curtis told me he either saw or performed a good one only once or twice.
    Lately I&39;m practicing piroflipping rolling circles or maybe simply called piruetting rolling circles as a way to practice for when I try a real chaos. It will be the same as far as orientations is concerned but without the translational movement. Keeping it in a single place while slowly rotating the direction of the flipping is pretty tough.

    Regarding the circle, It&39;s important to understand that in the pirouetting flip the numbers of pirouettes per flip are not related or set in stone. You can describe a full flip while doing say 10 pirouettes or even a ful flip with say 6 pirouettes. Obviously given a certain constant pirouetting speed the lower the number of pirouettes the faster the flipping portion of the mainblades disc.

    The factor that controls how fast the flipping happens is the total amount of deflection away fom the center you apply. In other words the larger the "stirring circle" the higher the swashplate deflection hence the faster the flipping rate. Doing very small "stirring circles" in the cyclic will achieve slowly flipping piroflip that has a relatively fast pirouetting rate. Conversely applying a large deflection away from the center i.e. large "stirring circle" will make it look like a pretty fast flip with proportionally fast pirouettes.

    What I call "piro-cheating" while piroflipping is when people let it rest for a while while in the horizontal disc portion of the flip whether it&39;s right side up or inverted for about two full pirouettes and then continue with the piroflip. They let it rest a bit and then apply upwards momentum so that they can do the piroflip while hanging between upwards pushes. That makes the piroflip a lot easier but also a lot uglier. Doing a piroflip where the flipping of the disc has a constant rate of flip is a completely different animal. It&39;s obvious that there has to be upwards momentum applied but people need to learn how to make it happen without stopping the flipping portion to regain momentum. There&39;s a world of pitch management that happens in that small amount of time.

    Take a look at this clip and notice that the flipping stays constant and there&39;s no resting time when the disc is horizontal. Also in this case the deflection circle is small and as you can see there is a high number of fast pirouettes for each flip. Notice also how the direction or orientation of the flipping portion stays somehow constant throughout the piroflip. The clip is not too good an example but it servers the purpose of illustrating the mechanisms of what I&39;m explaining.

    Totally agree with Augusto&39;s posts. Work on your timing first to get the flips so the rotor disk constantly flips in the same direction. Then you can work on rotating the flipping direction.

    Other than increasing cyclic at a particular point to &39;shift&39; the pirouetting flip or the chaos in a certain direction, I find thottle/pitch management important to be able to control the whole manouver. After increasing cyclic of your desired direction,depending on how far/fast I want to travel, I would also add a little extra throttle to the flip but in the direction I want to move. This is more important for when you do piro-flippin&39; loops or fly around doing constant piroeutting flips.

    Piroflip and Chaos Practice
    Credit to Pete Niotis

    "PiroFlip Practice: Keep doing a repeated async pirouetting loop in the same spot. Make smaller/tighten as you progress...that&39;s it!
    Chaos Practice: A series of very small/tight Async Pirouetting Loops where each complete little async pirouetting loop keeps being placed/rotated in a different location relative to the flight line. For example...spool up heli side in (nose right for this example), climb to a comfortable height let&39;s say 10-20 feet and go right into a tail stand, begin a constant pirouette dropping and forming a radius within a few decending feet while pirouetting and begin forming another pirouetting radius travelling to your right as to make heli ascend knife edge while pirouetting where now the outside of disc is facing right as you get to the top, at the top or end of the climb start adding negative collective while still pirouetting which leads you to the same spot you started with the exception that now the inside of disc is facing left side of field and here&39;s where you would drop to start another tight async pirouetting loop but you would also add the necessary cyclic inputs to place next loop at 12:00 or 6:00 position all dependant on which way you prefer or which way of rotation compliments the flow of your chaos. Keep in mind that placing each async pirouetting loop 90 degrees from last position will probably not be as good as placing each 45 degrees from the last position. To simplify understanding all this...practice these async pirouetting loops bigger at the beginning and just keep tightening them up and making them smaller as you progress and you&39;ll soon have a chaos."

  • My mind map you can use as a checklist to secure your Linux server and Joomla has a new home, it is now located at:

    I will update it regularly with new tips and how-to. Your feedback is as always welcomed, you can use the comment thread below.

  • chkrootkit is a tool to locally check for signs of a rootkit. chkrootkit is a common unix-based program intended to help system administrators check their system for known rootkits. It works by using several mechanisms, including comparison of file signatures to known rootkits, checking for suspicious activity (processes listed in the proc filesystem but not in the output of the 'ps' command.
    Log to the server with ssh as root user

    # wget

    Unpack the chkrootkit you just downloaded.
    # tar xvzf chkrootkit.tar.gz

    go to that  directory
    # cd chkrootkit

    # make sense

    # chkrootkit

    •Receive e-mail everyday with the result chkrootkit
    For Root user
    # crontab -e
    For any user
    # crontab -e -u username

    and add

    •0 3 * * * (./usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output" -c This email address is being protected from spambots. You need JavaScript enabled to view it.,This email address is being protected from spambots. You need JavaScript enabled to view it. This email address is being protected from spambots. You need JavaScript enabled to view it.)

    * the correct path can be found with which chkrootkit
    This will run chkrootkit at 3:00 am every day, and e-mail the output to This email address is being protected from spambots. You need JavaScript enabled to view it. and copies to This email address is being protected from spambots. You need JavaScript enabled to view it. and This email address is being protected from spambots. You need JavaScript enabled to view it.

    False alarms:
     "Checking `bindshell'... INFECTED (PORTS: 465)" This is normal and  NOT really a rootkit.

    If you ever get a positive alarm, you can try to remove the rootkit, but all professionals would advice you to reinstall the server from scratch, and restore a previous backup (that mean saving nothing from server as soon as the rootkit is revealed....)

  • Lucene Core&160; is an open-source search software, provides Java-based indexing and search technology, as well as spellchecking, hit highlighting and advanced analysis/tokenization capabilities. Luke is a handy development and diagnostic tool, which accesses already existing Lucene indexes and allows you to display and modify their content.

    Luke is awesome, but often times it is not feasible to inspect an index on a remote machine using a GUI. That's where Clue comes in. You can SSH into your production box and inspect your index using your favorite shell

    Another important feature for Clue is the ability to interact with other Unix commands via piping, e.g. grep, more etc.

    Interactive Mode:

    ./bin/ my-idx

    Non-interactive Mode:

    ./bin/ my-idx command args

    Command list:

    ./bin/ my-idx help
  • apache_maven

    What you will learn in this small post

    • How to create JAXB proxies at build time using maven-jaxb2-plugin in a continuous build environment (TeamCity / Bamboo)
    • How to generate from an XSD file (XML-Schema-Definitions) Java code.


    • We will use JAXB2 (see JSR 222 and JAXB 2.x).
    • We use Maven 2.2.1, the latest available version

    Settings things up

    The only difficulties is to add to your Maven proxy (Archiva, artifactory) the Maven repository of Sun. The example below use an inline repositories definition in pom.xml. So it work out of the box.

          <name> Maven 2 Repository</name>

    and the special Sun Maven plugin repository


    Here is how your pom should look like

    <project xmlns= xmlns:xsi=""
          <name> Maven 2 Repository</name>
    <pluginRepositories> <pluginRepository> <id></id> <name> Maven 2 Repository</name> <url></url> </pluginRepository> </pluginRepositories>

    All you have to do now is to place your XSD shema in src/main/resources and run mvn package

    The JAXB proxies will be created in target\generated-sources\xjc\generated so you can use them in src/main/java and src/test/java

  • Still hesitating about using or not using regression tests in your code? (JUNIT for java for ex.) Look here at Failed fixes haunt credibility of Microsoft's Trustworthy Computing Initiative. Even Microsoft has some problem today...because they do not have invested enough time/money/power into it....

  • Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. Builds an undo/redo manager and a set of  command classes.

    Source Code

     * Declares an interface for executing an operation
     * @role __Command
    public interface Command {
            /** this method is called by client to execute this command */
            void executeCommand();}
     * Defines a binding betweeen a Receiver object and an action. 
     * Implements Command by invoking the corresponding operation(s) on Receiver
    public class CommandA implements Command {
            public CommandA() {
                    // put command initialization code here
            /** @see patterns.gof.command.CommandexecuteCommand()*/
            public void executeCommand() {                 // provide implementation here
     * Defines a binding betweeen a Receiver object and an action. 
     * Implements Command by invoking the corresponding operation(s) on Receiver
    public class CommandB implements Command {
            public CommandB() {
                    // put command initialization code here
            /** @see patterns.gof.command.CommandexecuteCommand()*/
            public void executeCommand() {                 // provide implementation here
     * Concrete Command that executes a sequence of Commands.
    public class MacroCommand implements Command {
            /** Commands to execute */
            private Command[] commands;        /** @param commands Commands to execute */
            public MacroCommand(Command[] commands) {
                    this.commands = commands;        }
            /** Executes sequence of Commands */
            public void executeCommand() {
                    if (commands != null) {
                            for (int i = 0; i < commands.length; i++) {
                                    commands[i].executeCommand();                        }
  • Comment installer un tool d'accés à distance sur votre PC...
    Version 1.0, copyright Walter Cedric, Licence FDL (GNU Free Documentation License)


    • Si vous avez un copain (Rémy informaticien) qui peut vous aider mais qui habite trop loin pour venir vous aider sur votre ordinateur a un moment donne,
    • Pour administrer des machines sans écran,
    • Pour acceder a un bureau Macinstosh sous windows ou sous linux ou inversement.

    Il existe de nombreux logiciels qui permettent de prendre controle d'un pc a distance (a travers un reseau locale ou internet), voici comment installer Tight-VNC un logiciel Open source et multi plattform (des clients pour le monde windows-linux-java existent)

    VNC (pour Virtual Network Computing) est un logiciel distribué gratuitement par les laboratoires de recherche d'AT&T. Il s'agit d'une application client / serveur permettant, à partir de sa machine ("client" ) de prendre aisément le contrôle total d'un ordinateur quel que soit son emplacement ("serveur" ) via un réseau local ou encore Internet (TCP / IP). Tight VNC est une version "légère" de VNC qui nécessite moins de ressources système et qui s'accomode de moins d'un réseau moins performant si besoin est....

    Ce logiciel se compose de deux parties:

    clientLa partie cliente permet de se connecter à un ordianteur qui a la partie serveur
    serveurIl existe des serveurs pour toutes les architectures, Unix, Mac, windows, autres

    Ex: Rémy informaticien eut aider son ami novice, Régis qui à des problèmes sur sa machine windows. Rémy va installer la partie cliente (chapitre 2) et Régis la partie serveur sur son PC. (chapitre 1)

    1. Installer la partie la partie serveur

    par exemple: (le numéro de version importe peu)

    Windows tightvnc-1.2.9-setup.exe

    Télecharger Tight VNC serveur
    Double clicker sur l'icone pour lancer l'installation
    Une fenêtre apparait, appuyer simplement sur suivant (bouton Next > )
    Lire la licence et l'accepter en cliquant sur suivant (bouton Next > )
    Choisir le répertoire de destination du logiciel que vous êtes en train d'installer.
    Le répertoire par défaut convient très bien. Veuiller simplement cliquer sur suivant (bouton Next > )
    Vous pouvez sélectionner tous les composants (si vous voulez accéder à des machines distantes) ou juste la partie
    serveur (comme sur l'image à gauche ) si vous voulez être aider.
    Valider ssimplement sur ce masque en cliquant sur suivant (bouton Next > )
    Les deux doivent être selectionner avant de cliquer sur suivant (bouton Next > )
    Confirmer tous les choix précédents et laisser l'installation se terminer...
    attendez jusque cette fenêtre apparaisse...
    Point 1A

    Il s'agit maintenant de définir un password que seule vous et votre collègue connaitra. Une phrase est une bonne idée de départ.
    Pensez à mélanger des chiffres et des caractères. Il faut entrer ce password deux fois aux 2 elipses comme sur l'image de gauche.



    Une fois choisi il faut noter ce password et le donner à votre ami de confiance qui va vous aider.

    Ssimplement cliquer sur FIN (Finish)
    Si tous s'est bien passé, vous devriez avoir un icone V comme sur la photo de gauche dans le coin inférieur droit de votre bureau windows.
    Avant d'appeler votre ami Rémy l'informaticien au téléphone....
    Pour accéder à votre PC, il y besoin de deux informations encore.... 
     1. Le password que vous avez choisi, sans cela impossible de se connecter sur votre machine. Il s'agit du mot de passe choisi au point Point 1A
     2. Votre adresse internet ou IP, un nombre sur 32bits qui vous identifie vous et votre machine de maniere unique sur un réseau. Cee nombre est assemble par paquet de 4 nombre a 3 chiffre: WWW.XXX.YYY.ZZZ

    Pour votre culture....

    • La technologie ADSL change votre adresse IP tous les 24heures en moyenne, mais elle peut changer aléatoirement au bon vouloir de votre fournisseur d'accès internet.
    • La technologie Cable peut vous attribuer une adresse IP qui peut ne pas changer pendant plusieurs semaines, mais elle peut changer alaéatoirement au bon vouloir de votre fournisseur d'accès internet.
    • La technologie modem téléphonique attribue une adresse IP différente à chaque foisque vous vous connecter.

    En conséquence...vous dever chaque fois que vous désirez utiliser un accès distant connaitre l'adresse IP de la machine cible. Vous devez donc donner votre adresse IP à votre ami Rémy.


    Connaitre son adresse IP (vous devez être connecter à internet)

    Allez dans le menu windows démarrer (1 ou Start)

    puis exécuter (2 ou Run)


    Taper cmd puis cliquer sur OK
    Une fenêtre noir apparait, taper ipconfig puis la touche ENTER du clavier
    Localiser votre adresse IP, ici cela serait

    Pour votre culture....

    L'adresse ci dessus ne peut pas marcher, car elle est caratéristique d'une adresse internet attribué par un routeur ou HUB, qui va créer une adresse (ou attribuer) à chaque périphérique de votre réseau local.


     Pour des raisons de sécurité et après que vous ayez été aidé, veuiller soit:
    • Changer le password sans le communiquer à des tierces personnes,
    • Soit désinstaller le logiciel TightVNC (sécurité absolue mais contraignante)


    2. Installer la partie la partie cliente

    Il s'agit d'un programme comme un autre...

    par exemple: (lenuméero de version importe peu)

    Télecharger Tight VNC client
    lancer le programme et rentrer l'adresse IP de votre ami Régis
     Si le client trouve le serveur, Une fenêtre va vous demander le password.


  • Comment régler un hélicoptère RC: Raptor 30 ou caliber 30

    Questions? corrections? toutes vos remarques seront toujours les bienvennues...

    version 1.6 par Walter Cédric



    Notice Légal :
    L'auteur ne pourra en aucun cas être tenu responsable de tout accidents ou dommages matériels pouvant survenir de l'utilisation de ces informations. Utiliser les à vos propres risques et périls.


    Les hélicopteres radiocommandés ne sont pas des jouets, Ce sont des machines de précision qui ont le potentiel de causer des blessures graves et même de provoquer la MORT. Ne jamais l'oublier !!!! Les pales du rotor tournent souvent à plus de 450 km/h et cree une pression similaire a une balle de 45mm, de plus un hélico de 5 kilos a plus de 70 km/h contient une energie cinétique considérable qui se libére violement a l'impact. Toujours se tenir a distance respectable et éloigner le public.

    Ce setup se veut rudimentaire et empirique, n'ayant pas de connaissances libraire sur le sujet, je vous livre ici le fruit de mes observations sur le terrain au sein de mon club. Neanmoins, j'ai deja personnellement régler pas mal d'helicos (mode de vol normal, stationnaire et translation lente) avec succès. Je completerai ce setup pour le rendre exhaustif au fur et à mesure que mes connaissent s'étofferont.


    • Mode européen pour la télécommande (gazs a droite)
    • Télécommande Futaba FF8 ou FF9
    • Servo d'anticouple monté sur la poutre.
    • Récepteur FUTABA.

    1. Position des servo et assignation au récepteur futaba

    Caliber 30

    1.0 Définitions du type de commande du plateau:

    • Le H1, c'est quand le plateau cyclique est commandé par : un servo pour le rouli, un servo pour le tangage, et un servo pour le pas collectif. (Raptor 30)
    • Le H2, c'est quand le plateau cyclique est commandé par: 2 servos pour le rouli (un en push et un en pull), un servo pour le tangage, et ces trois servos montent et descendent en màªme temps pour le collectif.
    • Le H3 ou CCPM 120°, c'est quand les trois servos sont disposés à 120 ° sur le plateau cyclique. Un mixage de l'émetteur permet de faire du tangage et du rouli. Le collectif est réalisé par les 3 servos qui montent et qui descendent en màªme temps. (Caliber 30, Vigor CS)
    • Le H4 ou CCPM 90°, c'est quand les 4 servos sont disposés à 90° l'un par rapport à l'autre. Pour le tangage il y en a 2 qui font push pull , et pour le rouli, les 2 autres font push pull. Le collectif est assuré par les 4 servos qui montent et qui descendent en màªme temps. (rare)

    1.1 Remarques:

    • Monter les servos dans leurs emplacements sans jamais trop serrer les caoutchoucs car sinon ils n'amortiront pas les vibrations.
    • Privilégier un servo puissant (au moins 5kg voire plus) pour le collectif (Voie 6) si vous souhaiter chahuter votre hélico.
    • Privilégier un servo rapide pour la commande d'anticouple (au moins < 0.11s) si vous souhaiter monter un bon gyroscope heading lock (csm 540, gy501 par ex). Mais associer le tout avec une commande d'anticouple en carbone, seul rigide et garante de n'avoir aucun jeu. Si vous avez un de ces 3 composants qui manquent, rien ne sers d'acheter seulement un bon servo, ou seulement un gyro. Vous etes Debutant ? ne le faites pas car c'est un investissement lourd et vous avez, c'est triste a dire mais plus de 70% de malchance d'abandonner ce hobby (pour raison d'argent ou de decouragement) avant 6 mois.
    • Pour un hélico CCPM 120°, n'utiliser que 3 servos identiques, de màªme marque et référence. On peut s'accomoder de trois servo de moyenne gamme étant donné que le pas ou pitch est le résultat conjugués du mouvement des 3 servos (puissant)

    1.2 Assignations des voies sur le recepteur futaba:

    1 Cyclique latérale ou aileron (permet d'aller à gauche ou à droite)
    2 Cyclique longitudinale ou elevator (permet d'avancer ou de reculer)
    3 Gazs ou throttle (accélerer ou décellerer)
    4 Rud in du gyroscope (commande le servo d'anticouple)
    5 Gain du gyroscope (ajuste le gain à distance)
    6 Pas ou collectif (permet de monter et de descendre, joue sur l'angle des pales principales)

    1.3 Chapes et tiges:

    • Toujours respecter les longueur recommandées par le constructeur. Elles sont forcément dans le manuel. Ces valeurs sont dites idéales car elles permettent d'avoir un maximum d'amplitude sur toutes les commandes.
    • Utiliser des bras de servo qui permettent une fixation de la chape à 10 mm du centre du servo si rien n'est dit dans le manuel.
    • Utiliser des chapes de meilleurs qualités que celles de Thunder Tiger et de la tige filetée de 3mm (surtout pour le pas collectif qui pourraient flamber sous l'effort lors des maneuvres 3D, pas en classe 30, mais en classe 60 oui)
    • Connecter toutes les tiges comme recommandés sur les boules (bras de servo) mais ne connecter pas encore aux axes des servos. (pas encore)

    2. Premier réglages sur la télécommande

    • Allumer la técommande puis l'hélico. Tous les servos se positionnent au neutre. Vérifier que toute les fonctions ATV sont symétrique et égale a 100% des 2 cotés et que le dans le menu SUBTRIM tout soit a 0% (décalage du neutre = nul) (ces fonctions sont dans le menu basic)
    • Vous pouver maintenant connecter tous les servo à leurs tiges.

    2.1 Neutre des servos:

    • Débrouillez vous pour toujours respecter ce que le manuel du constructeur!
    • Mais si rien n'est spécifier, essayer de toujours suivre les 2 règles suivantes :
      - Bras perpendiculaire au boitier du servo, pour avoir un déplacement (rotation est un mot plus juste) égale de part et d'autre du neutre du servo. c'est ainsi que le servo atteint le maximum de ses performances.
      - Bras de servo parallèle entre eux ou avec la tige de renvoie du mixeur mécanique qui lui est connecté
    • En fait un hélicoptère bien reglé se voit comme ceci :
      - au neutre tous les mixeurs, bras de servo sont d'équerre (perpendiculaire au bati, au boitier de servo ou à autre chose...)
      - le plateau cyclique est au milieu de sa course (on recherche une commande symétrique, du type -10° +10°)

    2.2 Comment respecter ces règles ? (perpendiculaires, parallèle)

    • Trouver le neutre mécanique ! servo et télécommande sous tension, essayer de choisir un cran avec le bras de servo pour approcher le mieux possible le résultat escompté.
    • Ajuster le neutre électronique avec la fonction subtrim, mais attention, cette fonction à un effet pervers: elle limite d'autant de pourcent la course totale d'un coté !
      - ex : subtrim de 5%, vous devrez pour avoir 100% des deux cotés du débattement : 95% a gauche et 105% a droite (menu ATV ou End Point)
      - ex : subtrim de -5%, vous devrez pour avoir 100% des deux cotés du débattement : 105% a gauche et 95% a droite (menu ATV ou End Point)

    3. Sens des servos

    C'est le plus simple a faire, toujours dans le menu basic, aller dans la fonction REVERS (ou menu reverse). Si le sens actuel n'est pas le bon, appuyer sur + ou - pour le changer....Attention on regarde l'hélicoptére de dos, ce qui permet a votre cerveau de se reposer et évite de devoir inverser mentalement les commandes.

    Le plateau cyclique doit s'incliner dans la màªme direction que le mouvement de translation de la machine souhaitée.

    3.1 Droite, gauche, en avant en arrière:

    • Stick gauche en avant, le plateau cyclique s'incline vers l'avant....stick gauche en arriere, le plateau cyclique s'incline vers l'arriere... (Cyclique longitudinale : voie 2).
    • Stick droit a droite, le plateau cyclique s'incline vers la droite....stick droit a gauche, le plateau cyclique s'incline vers la gauche....(Cyclique latérale : voie 1)

    3.2 Servo des gazs:

    • Stick droit en bas, le papillon du carburateur doit se fermer. (la tige va vers l'arrière).
    • Stick droit en haut, le papillon du carburateur doit s'ouvrir. (la tige va vers l'avant).

    3.3 Servo d'anticouple:

    • Prérequis:
      Le rotor vu de dessus de dos tourne dans le sens horaire, l'anticouple vu de son coté en sens antihoraire. Si tel n'est pas le cas c'est que le 1/4 de tour de courroie que vous avez fait en montant le tube de queue etait dans le mauvais sens ! redémonter et recommencer...
    • Sens de la commande (pour rotor horaire, anti couple anti horaire et anticouple a droite):
      Stick gauche a gauche, le slider rentre vers le boitier d'anticouple, si ce n'est pas le cas alors inverser la voie RUDDER sur la télécommande.
    • Sens d'action ou de correction du gyroscope (pour rotor horaire, anti couple anti horaire et anticouple a droite):
      Hélico vue de dos, poussez brutalement la queue vers la gauche, le slider doit s'éloigner du boitier, Si tel n'est pas le cas alors le gyro doit àªtre inversé. (le mode pas le boitier !)
    • Ceci marche pour tous les hélico à rotation horaire, et anticouple à droite. Penser à vérifier le sens de correction et le bon fonctionnement de l'anticouple avant chaque vol.

    3.4 Collectif (stick droit)

    • Stick droit en bas, le plateau cyclique descend tout en restant horizontal durant son déplacement.
    • Stick droit en haut, le plateau cyclique monte tout en restant horizontal durant son déplacement.

    4. Débattement des servos

    • Ceux ci se réglent en dernier lieu avec la commande ATV de votre télecommande (d'abord la distance entre les 2 chapes doit àªtre conforme)
    • Dépasser 100% si vous voulez plus de débattement (limite a 140%) ou diminuer pour réduire (limite a 30%).
    • Si vous respecter les longueurs préconises par le constructeur, vous ne devrier pas avoir de débattement a 30% ou à 140%. En moyenne qq % au dessus ou en dessous de 100% quand màªme.
    Cyclique latérale

    voie 1

    (inclinaison du plateau cyclique a droite ou a gauche)

    • De tel facon que le plateau ne touche pas l'arbre du rotor pour les pilotes 3D,
    • Limiter le débattement pour un débutant, la barre de bell doit s'incliner sur les cotes de qq cm, cela suffit (1.5 à 2 cm)
    Cyclique longitudinale

    voie 2

    (inclinaison du plateau cyclique en avant ou en arriere)

    • Limiter le débattement pour un débutant, la barre de bell doit s'incliner vers l'avant ou l'arriere d'environ 30 degrées. Trop votre hélico ferait une pirouette sur place et vous tordrer la barres de bell....trop peu il sera mou et lent a répondre.

    voie 3
    • Stick droit en bas, le papillon du carburateur doit se fermer complètement si le trim des gazs est au minimum.
    • Stick droit en haut, le papillon du carburateur doit s'ouvrir complètement.

    Toujours se débrouiller pour que A=A', :
    - Dévisser la tàªte de servo et servo au neutre débrouiller vous pour que le boisseau soit entrouvert à 50%,
    - A ce moment précis, les bras de servos doivent àªtre parallèle entre eux, voir schéma
    - Si ce n'est pas le cas dévisser du coté du carburateur.

    La symétrie de déplacement des 2 cotés est ici la clé du succés.

    Rud in du gyroscope

    voie 4

    debattement du servo d'anticouple.

    Si vous avez un autre gyro que le CSM 540, vous allez jouer du tournevis et devrer regarder la doc de votre gyroscope sinon :
    • Eteigner l'helico, puis rallumer le, vous avez 10s durant l'autosetup pour basculer plusieurs fois l'interrupteur de passage du mode heading lock au mode normal (inter F du channel 5 sur la FF8)
    • Le servo d'anticouple s'agite pour confirmer que vous etes dans le mode de reglages.
    • La led orange s'allume si le sens d'action du gyro est reverse, s'eteint sinon. (Basculer le stick gauche a droite ou a gauche pour changer l'etat). Valider en basculant l'inter (aller retour). Le gyro confirme en en commandant au servo d'anticouple de faire un aller retour. Tener l'helico par l'arriere et pousser violement le poutre de l'helico vers la gauche, le levier plastique doit s'éloigner du boitier d'anticouple pour corriger la perturbation. Inverser dans le gyro si ce n'est pas le cas. (mon gyro est en mode reverse, car le servo est sur la poutre avec une commande en carbone plus rigide). Vérifier que : stick gauche a gauche, le slider rentre vers le boitier d'anticouple, si ce n'est pas le cas alors inverser la voie RUDDER sur la telecommande.
    • La led verte s'allume si vous avez un super servo (vous savez le servo futaba numerique a 900 FF ou le JR a 1500 FF), s'eteint sinon. (Basculer le stick gauche a droite ou a gauche pour changer l'état). Valider en basculant l'inter (aller retour). Le gyro confirme en en commandant au servo d'anti couple de faire deux aller retour.
    • Voici le mode débattement du servo pour un cote, approcher vous du boitier d'anticouple et pousser le stick gauche de telle facon a avoir d'un cote le débattement maximum que la mécanique permet. Valider en basculant l'inter (aller retour). Le gyro confirme en en commandant au servo d'anticouple de faire un aller retour.
    • Voici le mode debattement du servo pour l'autre cote, pousser le stick gauche de telle facon a avoir de l'autre cote le debattement maximum. Valider en basculant l'inter (aller retour).
    • Le gyro confirme en en commandant au servo d'anticouple de faire deux aller retour.

    C'est FINI !!!!!!!! Merci CSM.

    Gain du gyroscope

    voie 5

    (si vous avez cette fonction sur votre gyro)

    CSM recommande dans la documentation 60% des 2 cotés. Aller dans le menu ATV (ou END-Point sur la FF9) et spécifier 60%
    Pas ou collectif

    voie 6

    • Utiliser une jauge, mieux emprunter la (c'est cher et pas utile sauf si vous dépasser le cap de l'année d'helico), au pire utiliser les indications assez imprécises graves sur le chassis de votre hélico (cela reste suffisant pour du stationnaire, translation).
    • Je vous recommande +9° -9° en butee du stick droit et environ 6° en vol stationnaire, c'est a dire stick droit légerement au dessus du centre.(Normalement un "bon" pilote veut 0° au centre et a des commandes symétriques)
    • Certains vous dirons d'éviter de trop grande valeurs négatives car un débutant a comme reflexe, lorsqu'il est affolé de pousser le stick en bas et donc d'accélerer la chute de l'helico. C'est vrai mais vous devez absolument àªtre patient et gagner en hauteur cm après cm votre stationnaire de dos (avec un patin d'écolage bien sur).
    • Toujours jouer avec l'ATV de la voie 6 pour augmenter ou réduire le pas limite. Si vous n'arrivez pas à vos objectifs, vérifier la longueur de vos chapes....
    • Pour info en 3D on cherche a avoir du +12° -12° voire plus des fois mais pas avec un moteur genre TT36 car il faut de la ressource pour tenir 12° au rotor !!! Si vous cherchez à "visser" l'helico dans l'air, opter pour un classe 90 sous 30% de nitro.
    • Le plateau doit monter en restant horizontale tout le long de sa course, si tel n'est pas le cas alors vérifier la longeur des tiges le reliant. Si vous àªtes en CCPM (mélangeur électronique), ne mélanger pas les marques ou caractéristiques des 3 servos (3 servos fonctionne simultanément pour le pas dans ce mode).

    5. Courbe de pas et de gazs

    Objectif de la méthode de réglage:AVOIR UNE VITESSE ROTOR LA + CONSTANTE POSSIBLE

    5.1 Pourquoi?

    Eh bien parce que la relation qui lie la position du stick, à la vitesse du moteur (qui dépend de la charge ou pas en degrée, du mélange (ratio air-essence), des conditions atmospheriques : température, humidité qui influe sur le ratio air/essence, et et etc) n'est malheureusement pas linéaire.....On cherche bien sur à avoir une vitesse au rotor constante. Seul un régulateur de vitesse tel le governor de Futaba (GV1) peut aider mais ce n'est pas un équipement standard sur l'helico et il faut compter 200 € en plus. De plus on le monte sur un moteur deja réglé car si il lache..ou que le régulateur régule un moteur su des courbe de gazs mauvaises, il calera ou s'apauvrira en vol (pas bon : serrage et surchauffe).

    5.2 Comment?

    • Avec un tachymètre OPTIQUE (une disque perforé a travers laquelle on regarde le rotor en vol et que l'on synchronize avec la période de rotation de celui-ci: effet stroboscopique). Prix 200 € mais il faut avoir un collègue pour les mesures. Cela reste cher car on ne s'en sert que très peu souvent.
    • OU A l'oreille (très dur si on est débutant) encore une fois c'est empirique et cela ne me plait pas beaucoup non plus. Commencer par une courbe lineaire, puis si le moteur perd des tours a un position de stick donne, il faut aller dans la courbe de gazs et translater la courbe de 5% ou monter localement quelques points. (5 point sur la FF8, 15 sur la Zap). Tout se fait a l'oreille et il vaut mieux demander de l'aide aun pilote experimenter.

    Je recommande d'utiliser un tachymètre optique ou de se le faire préter. Voire d'en fabriquer un..

    5.3 Calcul de la vitesse idéale du rotor:

    • Regarder ce que préconise le fabriquant pour la vitesse rotor ou demander sur les forums ce que les pilotes expérimentés ont trouvé comme vitesse idéale (fonction du moteur, des pales, du type de vol (hover, translation, 3D, FAI)). Noter cette vitesse en tr/min c'est notre objectif.
    • Pour la retrouver, Si le moteur est idéalement utilisés, par exemple pour un OS32 : il tournera idéalement à 18000 tr/min (1,2HP) il suffit de diviser par le ratio de réduction du train du rotor principale = par ex 9.6 => 18000 / 9,6 = 1875 => 1875 tr/min devrait àªtre idéal pour le moteur et à fortiori pour le rotor si le fabricant recommande ce moteur et le taux de réduction de 9.6.

    5.4 Conséquences si non respect:
    Survitesse du rotor, efficacité réduite, au pire, vous tombez sur une des fréquence propre du rotor qui amplifie les vibrations, destruction des blades (>2200 tr/min), fatigues excessives etc....

    5.5 remarques:

    • Suivant les conditions de vol (vents) ou de mode (stationnaire, acrobaties, translation) il n'est pas rare d'avoir 3 ou 4 courbes differentes de gazs ou de pas actionnables grace aux nombreux interrupteur de la telecommande.
    • Mes hélico sont tous symétrique au niveau de la commande de pas, c'est a dire que pour décoller, je dois dépasser de quelques cran la position centrale pour avoir 4-5° de pas positifs.

    6. Courbes en mode normal

    Position du stick en mode hover Mesure de la vitesse par rapport Vitesse idéale Corrections courbes en ce point
    En dessous supérieur
      proche idéal
    Stick milieu supérieur
      proche idéal Stop, objectif atteint,l'hélico décolle avec la bonne vitesse rotor.
    Au dessus supérieur
      proche idéal

    Remarque: Il faut itérer dans le tableau et ne faire que de petit changement à chaque fois, jusqu'a atteindre le résultat escompté

    7. Taux de monté

    Ce réglage correspond au stick à 3/4 de sa course. Le but est d'avoir une vitesse ascendante "intéressante" (comprenez en adéquation avec votre maitrise de pilotage) tout en conservant une vitesse proche de la vitesse lors du décollage. Ce taux de monté est affaire de gouts et c'est a vous de choisir.

    Taux de monté, stick au 3/4 Mesure de la vitesse par rapport Vitesse idéale Corrections courbes en ce point
    Trop lent chute Â
      proche idéal
    Idéal chute
      proche idéal Stop, objectif atteint,l'hélico a un taux de monté idéal avec la bonne vitesse rotor.
      augmente Â
    Trop Rapide chute
      proche idéal Â

    A fond, a Fond !

    Ceci dépend de la puissance de votre moteur, de votre pot (réseau ou pas), du taux de nitro que vous utilisez (boost). Si la vitesse rotor s'écroule, vous devrez réduire la pas max, si la vitesse augmente, augmenter le pas en ce point.

    7. Taux de descente

    C'est la vitesse que vous souhaiter pour le stick de gazs a 1/4 de sa course tout en ayant une vitesse rotor constante. En général :
    - Le rotor rentre en survitesse (pas négatif) car l'air relatif qui le traverse augmente sa vitesse.
    - Si la vitesse chute par contre beaucoup trop, vous risquez de devoir remonter violement les gazs pour arréter la chute si il n'est pas déja trop tard.

    Taux de descente, stick au 1/4 Mesure de la vitesse par rapport Vitesse idéale Corrections courbes en ce point
    Trop rapide rester dans l'idéal en jouant sur les gazs  + ou
    Trop lente rester dans l'idéal en jouant sur les gazs + ou

    Vous avez fini ? bravo !

    Le futur pour éviter tout cela ?un moteur avec une électrovanne, une sonde lambda, tachymètre et un calculateur qui asservit la vitesse de sortie de l'arbre. Cela existe mais cela marche pas trop bien encore et cela coûte très cher... plus de 1200 €

    9. Iddle up

    Courbe de gazs en V ?

    C'est tres simple le moteur tourne quasiment tout le temps a fond en iddleup 2 (car on lui met +-9° de charge en 3D) mais lorsque le pas est proche de -3° 0° 3° le rotor risque de rentrer en survitesse alors on reduit donc les gazs -> courbe de gazs en V

    10. Finir le montage

    Une fois réglé, vous devez router les cables soigneusement et ne pas hésiter a les fixer. Cela participe grandement a la sécurité du modèle, en vrac :

    • Aucun cable ne doit pouvoir rentrer dans une partie en rotation,
    • Utiliser de la durite pour entourer les cables si vous traverser ou dépasser de la canopie,
    • Mousse pour la batterie, cela va éviter aux soudures sèches de lacher. Ne pas oublier apres un crash de les démonter et de les vérifier.
    • Fixer solidement le quartz dans sont logement, l'y coller si besoin est avec du scotch.
    • Fixer solidement au double face adapté le gyro.
    • Utiliser des rylsans ou serres-cables.
    • Vérifier la durite de pressurisation, si elle lache en vol le moteur a de grande chance de caler...
    • Aucun point dur dans le rotor, tjrs rechercher la cause et corriger mécaniquement ou électroniquement.
    • Aucun point dur dans le rotor d'anticouple, tjrs rechercher la cause et corriger mécaniquement ou électroniquement.



    Basic Menu                
      TH-CRV Courbe des gazs            
        NORM 1 2 3 4 5  
          47% 65% 75% 85% 100%  
      PI-CRV Courbe de pas rotor            
          0% 25% 50% 75% 100%  
          -20% -10% 0% +10% +20%  
      ATV Limitation de la course des servos            
        ATV-AI(aileron) Voie1 140%   140%    
        ATV-EL Voie2 100%   100%    
        ATV-TH(Gazs) Voie3 133%   106%    
        ATV-RU Voie4 100%   100%    
        ATV-GY Voie5 60%   60%    
        ATV-PI Voie6 45%   100%    
        ATV-7 Voie7 100%   100%    
        ATV-8 Voie8 100%   100%    
        D/R AI CH1 CH2 CH4      
          UP100 UP100 UP100      
          DOWN100 DOWN100 DOWN100      
        D/R EL CH2   UP100% DOWN100%    
        D/R-RU     UP100% DOWN100%    
        EXP-AI CH1          
              UP0% DOWN0%  
        EXP-EL CH2     DOWN0%
        EXP-RU CH4   UP0% DOWN0%    
          AIL, ELE, THR
      REVERS Sens d'action des servos            
        AIL CH1 REV        
        ELE CH2 REV          
        THR CH3 REV        
        RUD CH4 REV        
        GYR CH5 NORM        
        PIT CH6 NORM        
        CH7 CH7 NORM        
        CH8 CH8 NORM        
        ATL ON          
        EG/S INH          
        HELI SWH1          
        MOD PCM a changer selon
    le type de votre
        INVERT MODE INH          
        DISP NEGA            
          AIL 0        
          ELE 0        
          THR 0        
          RUD 0        
          GYR 0        
          PIT 0        
          CH7 0        
          CH8 0        
          AIL FUNC        
          ELE FUNC        
          THR FUNC        
          RUD FUNC        
          GYR OFF        
          PIT OFF        
          CH7 OFF        
          CH8 OFF        
        TH-CUT CH3          
            0% 5%      
  • apache_maven

    Doxygen phpDocumentator phpunit-logo teamcity512 maven4php

    Maven for PHP uses the power of Maven for building, reporting on and creating documentations of PHP projects. It adapts the Maven build lifecycle to the PHP world while fully supporting PHP 4 and PHP 5. PHP for Maven uses PHPUnitfor unit testing and doxygenfor creating the api documentation.
    Use a PHP library project to create a library that can be used by other PHP libraries or PHP web projects. Use a PHP web project to create a standalone web project.

    So I quickly describe what I did install on my root server (OpenSuse 11.X)

    My Objectives: being able to build all my Joomla! component using best agile development practices

    “Specific tools and techniques such as continuous integration, automated or xUnit test, pair programming, test driven development, design patterns, domain-driven design, code refactoring and other techniques are often used to improve quality and enhance project agility.”


    While not needed as TeamCity has an integrated Maven engine, I would like to use an external MAVEN version, in order to have the latest version and living dangerously on the edge!

    So I download

    # wget

    And unpack

    # tar xvf apache-maven-2.1.0-bin.tar.gz

    Since I would like to avoid having a version number in my configuration build path, I create a symlink

    # ln -s apache-maven-2.1.0 maven

    I just now tell TeamCity to use my own Maven version, by specifying the Maven Home Path



    phpDocumentor is an open source documentation generator written in PHP. It automatically parses PHP source code and produces readable API and source code documentation in a variety of formats. phpDocumentor generates documentation based on PHPDoc-formatted comments and the structure of the source code itself. It supports documentation of both object-oriented and procedural code. phpDocumentor can create documentation in HTML, PDF, CHM or Docbook formats.

    Can be installed using PEAR, simply run

    # pear upgrade PhpDocumentor
    downloading PhpDocumentor-1.4.2.tgz...
    Starting to download PhpDocumentor-1.4.2.tgz (2,421,028 bytes)
    ..............................................................................done: 2,421,028 bytes
    upgrade ok: channel://


    PHPUnit is a unit testing framework for the PHP programming language. Created by Sebastian Bergmann, PHPUnit is one of the xUnit family of frameworks that originated with Kent Beck's SUnit.

    Can be installed using PEAR, simply run

    # pear upgrade PHPunit


    Doxygen is a documentation generator for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. It runs on most Unix-like systems, including Mac OS X, as well as on Windows. The first version of Doxygen borrowed some code of an old version of DOC++; later, the Doxygen code was rewritten by Dimitri van Heesch. from

    # zypper se doxy
    Lese installierte Pakete...

    S | Name       | Zusammenfassung                                    | Typ 
      | doxygen    | Automated C, C++, and Java Documentation Generator | Paket
      | doxywizard | Graphical User Interface for Doxygen               | Paket

    # zypper in doxygen

    Herunterladen von Paket doxygen-1.5.5-17.1.x86_64 (1/1), 2,3 M (6,2 M installiert)
    Lade herunter: doxygen-1.5.5-17.1.x86_64.rpm [fertig] 
    Installiere: doxygen-1.5.5-17.1 [fertig]


    Prepare Artifactory by adding new Maven for PHP repositories


    As Admin user (you cant go to that links without being an admin!), add 2 new repositories


    In Maven settings.xml

    In order to use Artifactory at his best (proxy and caching of remote repositories), I have a Maven settings.xml that contains ONLY

    # vi /home/teamcity/.m2/settings.xml



    Attention: Artifactory WIKI tell to use and not on my HOST with mod_proxy it made an error 404 If I do not add a slash at the end. Try with your host before, you will gain a lot of time by checking if the URL is valid!

    Note that http://url:port/artifactory/repo/ is a virtual repositories that proxy all external repositories



    Use SolarJoomla (hopefully to be distributed this week) to have a running Eclipse, PDT, Maven 4 PHP environment, Mylyn, TeamCity in no time

    Lets build!

    First I create a new Maven Project with Archetype “Maven for PHP” “PHP5 libraries”

    In TeamCity I did create a new project “Joomla 15 components plugins and modules” and a new Build “MyGuestbook”.


    The first build failed with

    [INFO] PHP Warning: require_once(PHPUnit/TextUI/TestRunner.php): failed to open stream: Operation not permitted

    This is because of my PHP security restrictions, I only allow file to be opened from /home/teamcity/

    So I just add

    /home/teamcity/TeamCity/buildAgent/ to my open_basedirin my php.ini

    ; open_basedir, if set, limits all file operations to the defined directory
    ; and below.  This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    open_basedir = /srv/www/vhosts:/tmp:/home/teamcity/TeamCity/buildAgent/

    To be continued

    So long an empty PHP project is building successfully, tomorrow I will try to make a REAL Joomla! component build there!

    As soon as It works, and all my Joomla! components are running in TeamCity, I will try to achieve the same goal in Bamboo, why? because it is simply . . .fun!


  • Apache foundation is using Hudson for continuous build (and also JBOSS)

    Hudson monitors executions of repeated jobs, such as building a software project or jobs run by cron.
    Among those things, current Hudson focuses on the following two jobs:

    1. Building/testing software projects continuously, just like CruiseControl or DamageControl.
      In a nutshell, Hudson provides an easy-to-use so-called continuous integration system,
      making it easier for developers to integrate changes to the project, and making it easier
      for users to obtain a fresh build. The automated, continuous build increases the productivity.
    2. Monitoring executions of externally-run jobs, such as cron jobs and procmail jobs, even those
      that are run on a remote machine. For example, with cron, all you receive is regular e-mails that
      capture the output, and it is up to you to look at them diligently and notice when it broke.
      Hudson keeps those outputs and makes it easy for you to notice when something is wrong.

    This is a public build and test server for various Apache Projects.



    An Eclipse plugin is also available the online WIKI is HERE

    If you are shopping for a build server, and you are not on a budget, I can recommend you the
    excellent Team City from JetBrains. Maven integration is also good, but wont probably never reach the level
    of Hudson as it is made by Apache and tailored for their frameworks needs.

  • atlassian.bamboo.logo My Bamboo continuous integration server is now fully functional and available at&160;




    Remember Atlassian is providing free license for Open Source Projects:

    Atlassian supports and believes in the Open Source movement -Bamboo utilizes a number of good Open Source components, and Atlassian developers are committers on a large number of Open Source projects.

    To give back to the open source community (and hopefully improve the quality of those projects!),Bamboo is free for any Open Source project to use.

    There are a few requirements for an Open Source license, the main ones being:

    • Established code base
    • Publicly available project website
    • Using an approved open source license
    • YourBamboo instance will be publicly accessible

    My objective is to make Joomla! and all my projects also running in Bamboo (not only in TeamCity as the limit of 20 builds will be rapidly reached)

    Visit it by clicking on the picture

    Very quick Bamboo install how to

    Install a fresh Tomcat 6 runtime,

    Move the war into the ROOT web context of tomcat

    Choose free port for HTTP, AJP, and Tomcat server port&160; in conf/server.xml

    <Server port="8050" shutdown="SHUTDOWN">
    <Connector port="8051" protocol="HTTP/1.1" 
    <Connector port="8030" protocol="AJP/1.3" redirectPort="8443" />

    Copy mysqldriver.jar into /lib

    Configure the data source into server.xml

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true"
                xmlValidation="false" xmlNamespaceAware="false">
            <Resource name="jdbc/BambooDS" auth="Container" type="javax.sql.DataSource"
                validationQuery="select 1" />

    Edit /etc/apache/

    worker.list=ajp13, teamcity, jira, bamboo


    Create a vhost.conf in the subdomains

    # vi /srv/www/vhosts/

    ProxyPass /  ajp://
    <Proxy *>
       Order Allow,Deny
       Allow from all
    <Directory />
      Options FollowSymLinks
      AllowOverride None

    To tell plesk to include an overridden vhost.conf, run

    # /usr/local/psa/admin/sbin/websrvmng

    Restart Apache2

    rcapache2 restart