Dock bois pour Samsung Galaxy Tab A6

Voici une de mes dernières réalisations.

L’entreprise dans laquelle je travaille (pronic.com), nous a offert une Samsung Galaxy Tab A6 pour Noël. C’est super sympa !

Du coup, je me suis fais un petit dock pour qu’elle soit à son aise sur le plan de travail de la cuisine .

En voici les plans version PDF.

Pour info j’ai utilisé du bouleau comme essence de bois.

plan_dock_tablette
plan_dock_tablette2

raccourci windows lancement ssh avec commande

Cette astuce permet depuis un raccourci windows d’exécuter une commande DOS qui lancera une connexion SSH avec des commande dedans. (c’est du lourd!)

Pré-requis

  • Pouvoir lancer une commande ssh dans l’invite de commande DOS
  • Pourvoir se connecter au serveur ssh avec un certificat (sinon la connexion automatique ne marchera pas (tuto à  venir si j’ai le temps)

Continuer la lecture de « raccourci windows lancement ssh avec commande »

Installation de Liferay sur ubuntu & MySQL ou MSSQL server

On part d’un ubuntu installé connecté à  internet sans apache ni mysql.

I) Installation de Java JDK (openJDK)

a. Installer le jdk

II) Création de variables globale dans /etc/profile

Ecrire :
Attention la variable LIFERAY_HOME devra être modifier en fonction de l’url et de la version du liferay installé

III) Préparation de MySQL

a. Installer mysql :

Pour la création d’un user particulier cf doc mysql http://doc.ubuntu-fr.org/mysql

b. Création du fichier de conf pour liferay

créer un fichier portal-ext.properties et y inscrire :
#
# MySQL
#
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://l[servernameorip]/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=password
schema.run.enabled=true
schema.run.minimal=true
Entrez le login/password de l’utilisateur liferay

IV) Préparation de SQL SERVER

a. Créer la base de données lportal :

b. Création du fichier de conf pour liferay
créer un fichier portal-ext.properties et y inscrire :
# SQL Server
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://[servernameorip]/lportal
jdbc.default.username=login
jdbc.default.password=password
Entrez le login/password de l’utilisateur liferay

V) Installation de liferay
a. Installation de unzip
apt-get install unzip
b. Téléchargement et dé-zip de liferay
récupérer l’url du bundle liferay with tomcat sur http://www.liferay.com/downloads/liferay-portal/available-releases
cd /usr/src
wget http://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.0.6/liferay-portal-tomcat-6.0.6-20110225.zip
cd /usr/local
unzip /usr/src/liferay-portal-tomcat-6.0.6-20110225.zip

L’ensemble des fichiers se trouvent donc dans le répertoire /usr/local/liferay-portal-tomcat-6.0-5.1.2.
Nous allons créer un lien symbolique vers le répertoire
/usr/local/liferay afin de simplifier les choses et facilité les prochaines migrations.

ln -s liferay-portal-6.0.6/tomcat-6.0.29 liferay

Modifier dans le fichier /etc/profile la variable LIFERAY_HOME
Suppression des données d’exemple :
cd $LIFERAY_HOME/webapps
rm -rf sevencogs-hook
rm -rf sevencogs-mobile-theme
rm -rf sevencogs-theme
c. Insertion du   fichier de configuration BDD dans liferay
cd $LIFERAY_HOME/webapps/ROOT/WEB-INF/classes
coller le fichier portal-ext.properties créé précédemment avec la BDD
d. Modification des droits sur /bin
cd $LIFERAY_HOME/bin
chmod +x *.sh
e. Lancer le serveur tomcat
$LIFERAY_HOME/bin/startup.sh
Pour le lancer avec les logs :
cd $LIFERAY_HOME
./bin/startup.sh && tail -f ./logs/catalina.out

Collé à  partir de <http://www.paperblog.fr/1301550/installation-de-liferay-sous-gnulinux/>

Pour accéder :   http://:8080
Il faut attendre 10/15 min pour le lancement sur le port 8080

VBA macro afficher nom de cellule dans colonne à  côté

Voici une petite macro qui permet d’afficher les noms de cellule d’une colonne dans une autre colonne.

Pratique pour le développement.

Macro excel liste des cellules et plages nommées d’un classeur excel

Une petite macro vraiment intéressante.

Explication  : La macro suivante liste les cellules et les plages nommées, dans l’ordre d’index des feuilles, et crée une table des matières avec liens hypertextes.

Attention à  l’exécuter sur une feuille vierge  !

Git : astuces

Installation

apt-get install git-core

 

Configuration

 

  • Fichier /etc/gitconfig  : Contient les valeurs pour tous les utilisateurs et tous les dépôts du système. Si vous passez l’option –system à  git config, il lit et écrit ce fichier spécifiquement.
  • Fichier ~/.gitconfig  : Spécifique à  votre utilisateur. Vous pouvez forcer Git à  lire et écrire ce fichier en passant l’option –global.
  • Fichier config dans le répertoire Git (c’est à  dire .git/config) du dépôt en cours d’utilisation  : spécifique au seul dépôt en cours. Chaque niveau surcharge le niveau précédent, donc les valeurs dans .git/config surchargent celles de /etc/gitconfig.

Sur les systèmes Windows, Git recherche le fichier .gitconfig dans le répertoire $HOME (C:\Documents and Settings\$USER la plupart du temps). Il recherche tout de même /etc/gitconfig, bien qu’il soit relatif à  la racine MSys, qui se trouve o๠vous aurez décidé d’installer Git sur votre système Windows.

 

Collé à  partir de <http://git-scm.com/book/fr/D%C3%A9marrage-rapide-Param%C3%A9trage-%C3%A0-la-premi%C3%A8re-utilisation-de-Git>

 

configurer un utilisateur

afin d’identifier qui fait quoi

git config –global user.name   « Guillaume Jacquemoud »

git config –global user.email « g.jacquemoud@ultimeo.com »

git config –global core.editor nano

git config –global –add color.ui true

git config alias.st status

git config alias.ct commit

git config alias.ck checkout

git config alias.br branch

 

lister la config

git config –list

 

alias]

st = status

ct = commit

ck = checkout

br = branch

 

 

 

Ignorer les fichiers inutiles

 

Le fait d’indiquer à  Git d’ignorer des fichiers inutiles permet de ne conserver la trace que des modifications apportés au code lui-même.

 

Les changements dans les fichiers temporaires par exemple sont trop fréquents et inintéressants. Nous allons donc tout bonnement ignorer ces fichiers.

Voici une liste non exhaustive de fichiers à  ignorer :

 

  •       des fichiers temporaires : logs, cache…
  •       des fichiers uploadés par les utilisateurs
  •       des fichiers dépendant de l’environnement : configuration de la base de données, index.php, .htaccess…

 

Git stocke la liste des fichiers à  ignorer dans un fichier .gitignore situé à  la racine de l’application. Nous créons ce fichier et y ajoutons le contenu suivant :

 

# .gitignore

tmp/**/*

tmp/**/**/*

.htaccess

config/core.php

config/config.php

config/database.php

webroot/.htaccess

webroot/index.php

webroot/test.php

!.gitignore

 

La syntaxe avec les étoiles permet d’ignorer tous les sous-répertoires de tmp.

Enfin, dernière chose, nous devons également indiquer à  Git de ne pas ignorer les fichiers .gitignore présents dans les répertoires vides. Nous ajoutons pour cela en fin de fichier .gitignore la ligne

 

!.gitignore

 

 

Configurer un dépôt privé

  • Il faut avoir déjà  un projet de créé dans un dossier ex : /var/www/projet1/
  • Avoir fait un git init et des commits
  • Allez dans votre dossier o๠stocker les repositories ex : /var/repos/
  • Faire

git clone –bare /var/www/projet1/.git   /var/repos/mondepot.git

 

Collé à  partir de <http://www.alexgirard.com/git-book/4_configurer_un_d%25C3%25A9p%25C3%25B4t_priv%25C3%25A9.html>

 

Configurer un serveur remote

git remote add ‘prod’ /var/www/repository/ultimeo/tgit/master.git

 

Les commandes

 

Initialisation

 

Sur un projet

Allez dans un dossier de développement (/var/www/projet1/) et en shell taper :

git init

 

Pour un repository

Initialise un repo git vide

Allez dans un dossier de accessible (/home/phpuser/git/) et en shell taper :

mkdir projet1.git

cd projet1.git

git –bare init

 

Ajouter un remote (repository) à  son instance git

git remote add prod /var/www/repository/ultimeo/tgit/master.git

git remote add   origin ssh://phpuser@web1.toto.fr:1987/home/phpuser/git/projet1.git

 

 

Commit

 

git add .

 

git commit -am « message du commit »

 

Réparer une erreur non-committée

Si vous vous êtes embrouillé dans votre répertoire de travail, mais que vous n’avez pas encore committé vos erreurs, vous pouvez retrouver l’état dans lequel était votre répertoire après le dernier commit en utilisant  :

 

$ git reset –hard HEAD

Cela effacera toutes les modifications que vous avez ajouté à  l’index git ainsi que les changements qui sont présents dans votre répertoire de travail mais qui n’ont pas été ajoutés à  l’index. En d’autres termes, après cette commande, le résultat de git diff et git diff –cached sera vide.

Si vous ne voulez restaurer qu’un seul fichier, par exemple hello.rb, utiliser plutôt git checkout  :

 

$ git checkout — hello.rb
$ git checkout HEAD hello.rb

La première commande restaure hello.rb à  la version de l’index afin que git diff hello.rb ne retourne aucune différence. La seconde commande restaurera hello.rb à  la version de la révision HEAD afin que git diff hello.rb et git diff –cached hello.rb ne retourne aucune différence.

 

Réparer une erreur committée

Si vous avez déjà  committé ce que vous n’auriez pas dà», il y a deux faà§ons fondamentalement différentes de régler le problème  :

  1. Vous pouvez créer un nouveau commit qui annule les changements du dernier commit. C’est la manière correcte de s’y prendre si votre erreur est déjà  publique.
  2. Vous pouvez revenir en arrière et modifier l’ancien commit. Vous ne devriez jamais faire à§a si vous avez déjà  rendu l’historique public. Git n’est pas conà§u pour que l’historique d’un projet change et ne peut pas effectuer correctement des fusions répétés sur depuis une branche qui a vu son historique modifié.

 

Réparer une erreur sur un nouveau commit

Il est facile de créer un nouveau commit qui annule les changements d’un commit précédent. Utilisez la commande git revert avec la référence du mauvais commit, par exemple, pour revenir au commit le plus récent  :

 

$ git revert HEAD

Cela créera un nouveau commit qui annulera les changements dans HEAD. Vous pourrez éditer le message de ce nouveau commit.

Vous pouvez aussi revenir sur des changements plus anciens, par exemple, sur l’avant-dernier changement  :

 

$ git revert HEAD^

Dans ce cas, git essayera d’annuler l’ancien changement en gardant intactes les modifications faites depuis. Si plus d’un changement se superpose sur les changements à  annuler, vous aurez à  régler les conflits manuellement, de la même faà§on que quand vous réglez une fusion.

 

Réparer une erreur en modifiant le commit

Si vous venez de committer quelque chose mais que vous vous rendez compte que vous devez réparer ce commit, les versions récentes de git commit vous donnent accès à  l’option –amend qui demande à  git de remplacer le commit de HEAD par un autre, basé sur le contenu actuel de l’index. Cela vous donne l’opportunité d’ajouter de fichiers que vous avez oubliés ou de corriger des erreurs de typo dans le message du commit, avant de publier les changements pour les autre développeurs.

 

Si vous trouvez une erreur dans un ancien commit, mais que vous ne l’avez toujours pas publié, utilisez le mode interactif de git rebase, avec git rebase -i en marquant les changements qui doivent être corrigés avec edit. Cela vous permettra de modifier le commit pendant le processus de recombinaison.

 

Collé à  partir de <http://www.alexgirard.com/git-book/4_r%25C3%25A9paration_avec_git_%25E2%2580%2594_reset%252C_checkout_et_revert.html>

 

 

 

Branches

 

Lister les branches existantes

  •  en local

git branch

  • local + celles des remotes

git branch -a

 

Créer une branche

git banch mabranche

 

Changer de branche

git checkout mabranche

 

pousser une branche

git push prod mabranche

 

tirer une branche (sur la branche en cours)

git pull prod mabranche

 

Merger une branche depuis une autre

ex : on a la branche master et une branche de dev mabranche. On corrige un bug sur le master pour remonter cette correction sur mabranche on fait:

 

se mettre sur la branche de destination

git checkout mabranche

git merge master

 

Dans la plus part des cas on sera dans le cas inverse : le dev sur mabranche est fini, on le fusionne avec le master:

 

git checkout master

git merge mabranche

 

Recombinaison (rebase)

 

Cette commande va retirer chacun de vos commit sur ‘mywork’, en les sauvegardant temporairement comme des patches (dans le dossier « .git/rebase »), puis mettre à  jour la branche ‘mywork’ avec la dernière version de la branche ‘origin’, et enfin appliquer chaque patch sauvegardé à  cette nouvelle version de ‘mywork’.

 

Une fois que la référence (‘mywork’) est mise à  jour jusqu’au dernier objet commit créé, vos anciens commits seront abandonnés. Ils seront sà»rement effacer si vous lancer la commande de ramasse-miettes. (voir git gc)

 

Dans le processus d’une recombinaison, des conflits peuvent se produire. Dans ce cas, le processus s’arrêtera et vous permettra de réparer ces conflits; après les avoir fixés, utilisez « git-add » pour mettre à  jour l’index avec ce nouveau contenu, puis, au lieu de lancer git-commit, lancez juste:

 

$ git rebase –continue

 

et git continuera d’appliquer le reste des patches.

à€ n’importe quel moment, vous pouvez utiliser l’option –abort pour annuler le processus et retourner au même état de ‘mywork’ qu’au démarrage de la recombinaison:

 

$ git rebase –abort

 

Collé à  partir de <http://alx.github.com/gitbook/4_recombinaison_(rebase).html>

 

 

 

 

Supprimer une branche

  • se mettre sur une autre branche !

git branch -d mabranche

 

 

 

Afficher les logs formatés :

git log –pretty=format: »%h par %an, %ar, => %s »

git log –pretty=format: »%h par %an, %ar, => %s » –graph

 

http://www.alexgirard.com/git-book/3_analyser_l%25E2%2580%2599historique_%25E2%2580%2594_git_log.html

http://git-scm.com/book/fr/Les-bases-de-Git-Visualiser-l%27historique-des-validations

 

=> pour sortir de git log : q

 

Git Status

La commande git status vous indique les fichiers que vous avez modifiés récemment

 

 

Cloner un repo

git clone monrepo

 

clone une branche spécifique

git clone -b nomdebranche monrepo

 

Virer les infos git :

find $TARGET -name .git | xargs rm -rf –

find $TARGET -name .gitignore | xargs rm -rf –

find $TARGET -name .gitmodules | xargs rm -rf –

find $TARGET -name .svn | xargs rm -rf –

 

Collé à  partir de <http://www.alexgirard.com/git-book/3_analyser_l%25E2%2580%2599historique_%25E2%2580%2594_git_log.html>

Time lapse : compte à  rebours javascript pour les interros

J’ai développé ce petit script pour ma femme qui est professeur et qui en avait marre, pendant ses interros, que ses élèves lui demandent :

– Il reste combien de temps ?

Le principe est simple vous entrez l’heure de fin de l’examen, puis vous cliquez sur commencer.

Le compte à  rebours commence. A la fin l’écran clignote rouge !

=> Télécharger le script : timelapses <=

Ref technique :

 

VBA : changer nom cellule de manière récursive

Petite macro VBA qui permet de changer de manière récursive le nom des cellules (le nom pas les valeurs).

Cette exemple

  • Boucle sur la première ligne A1, B2, C3 …
  • Vérifie si le contenu de ce champ
  • Si non vide, il renomme la cellule juste en dessous (A2, B2, C2 …) avec le contenu de la cellule initiale.
Nota la fonction offset(x,y) permet de se déplacer de de x,y depuis la cellule en focus.