private void drawUI() {

        /** Serveur informations **/
        top = new JPanel();
        top.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 15));
        top.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);

        serverLabel = new JLabel("IP du serveur : ");

        serverInput = new JTextField("127.0.0.1");
        serverInput.setPreferredSize(new Dimension(100, 20));

        portLabel = new JLabel("Port du serveur : ");

        portInput = new JTextField("69");
        portInput.setPreferredSize(new Dimension(30, 20));

        progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
        progressBar.setVisible(false);
        progressBar.setStringPainted(true);
        progressBar.getSize().width += 60;
        progressBar.getSize().height += 20;

        add(top, BorderLayout.NORTH);

        top.add(serverLabel);
        top.add(serverInput);
        top.add(portLabel);
        top.add(portInput);
        top.add(progressBar);
        top.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1));

        /** Main content definition **/

        center = new JPanel();
        center.setLayout(new GridLayout(1, 2));

        /** Setting sending components **/

        send = new JPanel();
        send.setLayout(new BorderLayout());
        send.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.GRAY), "Envoyer un fichier"));
        remoteUploadFileNameInput = new JTextField(DEFAULT_REMOTE_INPUT);

        //Simulate prompt
        remoteUploadFileNameInput.addFocusListener(new FocusListener() {
            @Override
            public void focusGained(FocusEvent e) {
                if(remoteUploadFileNameInput.getText().equalsIgnoreCase(DEFAULT_REMOTE_INPUT)){
                    remoteUploadFileNameInput.setText("");
                }
            }

            @Override
            public void focusLost(FocusEvent e) {
                if(remoteUploadFileNameInput.getText().equalsIgnoreCase("")){
                    remoteUploadFileNameInput.setText(DEFAULT_REMOTE_INPUT);
                }
            }
        });

        uploadChooser = new JFileChooser();
        uploadChooser.setDialogType(JFileChooser.OPEN_DIALOG);
        uploadChooser.setApproveButtonText("Envoyer");

        JPanel sendContent = new JPanel();
        sendContent.setLayout(new BorderLayout());
        sendContent.add(uploadChooser, BorderLayout.CENTER);
        sendContent.add(remoteUploadFileNameInput, BorderLayout.PAGE_START);
        send.add(sendContent, BorderLayout.CENTER);

        /** Setting reception components */

        receive = new JPanel();
        receive.setLayout(new BorderLayout());
        receive.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.GRAY),"Recevoir un fichier"));
        remoteDownloadFileNameInput = new JTextField(DEFAULT_REMOTE_INPUT);

        //Simulate prompt
        remoteDownloadFileNameInput.addFocusListener(new FocusListener() {
            @Override
            public void focusGained(FocusEvent e) {
                if(remoteDownloadFileNameInput.getText().equalsIgnoreCase(DEFAULT_REMOTE_INPUT)){
                    remoteDownloadFileNameInput.setText("");
                }
            }

            @Override
            public void focusLost(FocusEvent e) {
                if(remoteDownloadFileNameInput.getText().equalsIgnoreCase("")){
                    remoteDownloadFileNameInput.setText(DEFAULT_REMOTE_INPUT);
                }
            }
        });

        downloadChooser = new JFileChooser();
        downloadChooser.setDialogType(JFileChooser.DIRECTORIES_ONLY);
        downloadChooser.setApproveButtonText("Recevoir");

        JPanel receiveContent = new JPanel();
        receiveContent.setLayout(new BorderLayout());
        receiveContent.add(downloadChooser, BorderLayout.CENTER);
        receiveContent.add(remoteDownloadFileNameInput, BorderLayout.PAGE_START);
        receive.add(receiveContent, BorderLayout.CENTER);

        /** Adding to the center container **/
        center.add(send);
        center.add(receive);

         /** Adding logging area **/

        logArea = new JTextArea("Flux d'évènements :" + System.getProperty("line.separator"));
        logArea.setBorder(BorderFactory.createLineBorder(Color.GRAY, 1));
        logArea.setPreferredSize(new Dimension(getWidth(), 150));


        /** Adding all **/

        add(center, BorderLayout.CENTER);
        add(new JScrollPane(logArea), BorderLayout.PAGE_END);
    }