Git : Utiliser le Deamon Git pour gérer un dépôt distant

2/02/2018
Auteur : De Emmanuel Grandadam

Travail collaboratif ou simple système de sauvegarde, j’utilise Git pour le suivi de mes projets.

-> L’astuce consiste à mettre en oeuvre un dépôt distant en plus du local créé par Git.

1. Création d’un dossier pour le projet

Sur le serveur, dans un dossier prévu au stockage des projets
« chemin » -> chemin relatif ou absolu vers le dossier principal,
« projet » -> comme nom du projet.
« serveur » -> pour identifier le serveur (ip ou nom)

mkdir /chemin/projet

chmod -R 777 /chemin/projet

cd /chemin/projet

git –bare init –shared=true

(bare pour la création d’un archive, shared pour autoriser le partage)

touch /chemin/projet/.git/git-daemon-export-ok

(Le projet doit contenir le fichier git-daemon-export-ok pour autoriser l’export distant)

 

2. Lancer le daemon pour la gestion distante

git daemon –reuseaddr –base-path=/chemin –export-all –enable=receive-pack

(–enable=receive-pack pour autoriser l’écriture)

 

-> On obtient alors l’url suivante l’accès au projet : git://serveur/projet

3. Sur le client

git init

git add ./

git status

git commit -m « Message »

(Cette première étape ne change pas, c’est un commit local normal)

git remote add « Nom identifiant le dépôt distant » git://serveur/projet

(On ajoute un dépôt distant)

git push « Nom identifiant le dépôt distant » master

(On pousse les changement sur le serveur)

 

En cadeau : mon script bash qui permet la création des projets et qui pilote le serveur :

#!/bin/bash

create(){

if [ -z "$REP" ]
 then
 printf "[Création du dépôt] Nom du dépôt : "
 read REP
 fi
 
 mkdir $FOLDER/$REP
 chmod -R 777 $FOLDER/$REP
 cd $FOLDER/$REP
 
 git --bare init --shared=true
 
 touch $FOLDER/$REP/.git/git-daemon-export-ok


}

start(){

git daemon --reuseaddr --base-path=$FOLDER --export-all --enable=receive-pack &
 echo $! > /tmp/git.pid
}



stop(){
 
 PID=$(cat /tmp/git.pid)
 kill -15 $PID 2> /dev/null
 rm /tmp/git.pid 2> /dev/null
}



# DEMARRAGE
#---------------------------------------

REP=$2
FOLDER="/chemin_archives/Git"

case $1 in
 'start')
 start 2> /dev/null;;
 'stop')
 stop 2> /dev/null;;
 'create')
 create 2> /dev/null;; 
 *)
 echo "usage $0 start|stop" ;;
esac
Commentaires :

Une signature dans Mail (Apple) avec une image mais sans pièce jointe….

8/05/2017
Auteur : De Emmanuel Grandadam

Marre de recevoir des mails avec des pièces jointes qui ne sont que des images dans les signatures… impossible de déterminer si le mail contient un objet intéressant ou juste une ‘pauvre’ image dans la signature…

Voici comment procéder pour créer une signature avec un image SANS pièce jointe pour le client Mail d’Apple…

Cette méthode fonctionne a conditions de forcer Mail pour la rédaction des messages à utiliser le format « Format texte enrichi » depuis l’onglet « Rédaction » des Préférences de Mail

  1. On transforme (encode) une image en son équivalent en BASE64
    Utiliser le site  -> https://www.base64-image.de/
    Envoyer l’image
    Utiliser la commande copy image
  1. On fabrique une page web avec l’image encodée (image.html)
    <img src= »></body>
    -> Avec dans la définition de ‘src‘ le code copier juste avant.
  2. Ouvrir avec un navigateur
    Testé avec Chrome !
  3. Copier l’image ! Attention il faut faire :
    Sélectionner avec Cmd+A puis
    Copier avec Cmd+C 

  4. Créer une signature dans Mail et coller l’image

  1. Créer un mail et vérifier que le mail n’indique pas de poids (Taille du message : –Ko) ni de gestion d’image (Petite, Moyenne, Grande…)

Version OK !

Pas OK 🙁

Done !

 

Commentaires :

[Linux] Un gestionnaire de fenêtre (Xfce) par le biais de VNC (X11vnc) sur un serveur X virtuel (Xvfb)

1/02/2016
Auteur : De Emmanuel Grandadam

‘ L’objectif est de manipuler un gestionnaire de fenêtre avec un client VNC sans lancer X11 comme serveur graphique qui coûte cher en ressources… ‘

Le serveur Xvfb est un serveur graphique (X) virtuel qui ne demande pas d’écran ni de périphérique d’entré (clavier/souris).
Ce serveur permet de rendre des applications graphiques sans faire appel à la carte graphique (écran virtuel).


1) Démarrer l’écran virtuel Xvfb :

export DISPLAY=:1
Xvfb :1 -screen 0 1280x800x16 &

2) Puis lancer le gestionnaire de fenêtres (ici Xfce) :

DISPLAY=:1 /usr/bin/xfce4-session &

3) Et enfin lancer un serveur VNC (ici X11vnc) pour pouvoir récupérer l’écran (virtuel) à distance :

x11vnc -display :1 -usepw -xkb -forever

 

Pour affiner la commande du serveur VNC :

  • -avahi : pour l’utilisation de Zeroconf (mDNS) pour voir apparaître le service dans le Finder du Mac
  • -desktop ‘VNC’ : pour forcer le nom de la fenêtre dans le client VNC
  • -env X11VNC_AVAHI_NAME= ‘VNC’ : pour forcer le nom de partage Avahi/mDNS

Remarque :

Le serveur Xvfb est prévu pour être utilisé avec le protocole SSH de manière à pourvoir récupérer l’écran virtuel par le biais d’un tunnel SSH avec redirection de ports.

Commentaires :