Si comme moi vous avez installé Tomcat sur la première version du Raspberry Pi, vous avez du remarquer qu’il était assez lent à démarrer. J’ai pu constater un démarrage de quasiment 9 minutes sans compter l’application que j’ai déployé…

En regardant les logs de démarrage, Tomcat m’indique que des librairies ne contenant pas de TLD ont été scannées :

« At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. »

Pour augmenter le niveau de log, il suffit de modifier le fichier logging.properties qui se trouve dans « /etc/tomcat8/ » et y ajouter ou décommenter cette ligne :

org.apache.jasper.servlet.TldScanner.level = FINE

Redémarrer alors Tomcat :

sudo service tomcat8 restart

Et cette fois ci, vous devriez avoir dans les logs, la liste des jars à ignorer. Ces fichiers sont à ajouter au fichier catalina.properties dans la propriété:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip

Il est peut être plus efficace de se faire un petit script pour générer la liste de ces jars à partir du fichier de log.

Redémarrer Tomcat à nouveau et vous pourrez constater qu’il est beaucoup plus rapide à démarrer.

Au final, je suis donc passé de 9 minutes de démarrage à seulement 1min30… 🙂

Il arrive parfois qu’on ai besoin de créer un disque virtuel à partir d’un répertoire local. Pour faire cela, il existe la commande subst.

Pour créer un disque virtuel :

subst x: C:\Chemin_vers_mon_dossier_local

Pour supprimer ce disque virtuel :

subst x: /D

Et si vous préférez avoir une interface graphique, il existe un petit utilitaire qui permet de faire la même chose :

http://www.ntwind.com/software/utilities/visual-subst.html

 

Après avoir installé Tomcat via apt-get, la version du JDK utilisée n’est pas forcément celle dont on a besoin.

Dans mon cas, j’ai installé Tomcat 8 qui utilise par défaut la version 7 de Java, alors que les applications sur lesquelles je travaille sont compilées avec Java 8.

Pour remédier à ce problème, il suffit d’éditer le fichier tomcat8 (ou tomcat7 selon la version installée) qui se trouve dans le répertoire /etc/default/ et modifier la propriété JAVA_HOME.

Cela donne :

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf

Redémarrer alors tomcat :

sudo service tomcat8 restart

Dans l’administration de Tomcat, sur la page d’état du serveur, vous devriez maintenant avoir la bonne version de Java :

jvm_tomcat

Gitlist est un viewer de repository git. Il est très simple à installer, une simple décompression dans le dossier www de votre serveur Apache puis la modification du fichier de configuration et le tour est joué. Il y a un tas de tuto en ligne qui pourront vous expliquer comment modifier le fichier de configuration.

Seulement si votre repository git ne se trouve pas dans un dossier où Apache n’a pas les droits en lecture, alors cela ne suffira pas…

L’erreur qui apparaît quand on accède à Gitlist est :

Please, edit the config file and provide your repositories directory

Dans le fichier d’erreur Apache, on peut tomber sur cette erreur :

… failed to open stream: Permission denied in…

La solution pour un Nas Synology est de donner les droits au groupe « http » via l’interface DSM. Allez dans Panneau de configuration, puis dossiers partagés et sélectionnez le répertoire où est stocké vos repositories git.

Cliquez sur modifier et dans l’onglet permissions sélectionnez les « groupes locaux » et donnez au moins l’accès en lecture seul au groupe « http ».

dsm_permissions http

Validez et cette fois, gitlist devrait fonctionner sans problème! 🙂

Les lumières d’un NAS peuvent être embêtantes le soir, donc voici comment les éteindre avec des tâches programmées sur un NAS Synology.
Une fois sur l’interface, il suffit d’aller dans le peanneau de configuration, puis « Planificateur de tâches ».

Panneau de configuration du Synology

Panneau de configuration du Synology

Cliquer sur « Créer » puis « Script défini par l’utilisateur ».

Créer une tâche

Créer une tâche

Il suffit de lui donner un nom et la ligne de commande à exécuter, pour notre cas :
echo 67B > /dev/ttyS1
Qui permet donc d’éteindre les LED Power, Status et USB Copy.
Dans l’onglet « Programmer », il faut définir le moment à laquelle cette tâche va être exécuté.

Programmer une tâche

Programmer une tâche

Pour les rallumer voici la ligne de commande :
echo 58A > /dev/ttyS1

Vous pouvez donc créer une nouvelle tâche qui va les rallumer plus tard dans la journée.

J’ai tout récemment reçu mon Nexus 4! Enfin!!!! Et donc, je me suis remis à la chasse aux applications! 😀
Je ne suis pas du genre à jouer sur mon smartphone, les jeux rapide du style Angry Birds ne me passionnent pas vraiment… Par contre, les anciens jeux GBA, NES, etc…. Why not! 😀
Habituellement, avec les émulateurs, il faut un peu se prendre la tête à chercher les noyaux et on a un émulateur par console mais grâce à RetroArch, il vous faut uniquement les roms et ça fonctionne! 😉

De plus, Il reconnait de nombreuses manettes, ce qui est plus pratique pour jouer, surtout pour la PS1.

RetroArch est disponible sur le playstore

Nohup est une commande qui va vous permettre de lancer des processus sans qu’ils ne soient rattaché à votre session. Donc, dans le cas où vous fermez votre session le processus sera toujours en cours…

Je l’utilise actuellement pour mon NAS, je me connecte en SSH dessus, lance ma commande avec nohup (par exemple un téléchargement via wget) et je me déconnecte. Le lendemain, je peux récupérer le résultat de la commande.
Voici un exemple d’utilisation :

nohup wget http://monsite.com/fichiertreslourd.iso &

Le & est utilisé pour ne pas avoir à attendre la fin de la commande, donc dans mon exemple il est indispensable.
Un fichier log (par défaut nohup.out) est créé dans le dossier où vous avez lancé la commande. Selon la durée du processus, il peut être assez gros. 🙂

Bonjour,

Je débute en ce moment sur le développement Android et je suis tombé sur un problème que surement tout débutant rencontre : le findViewById qui retourne null.

Il faut savoir plusieurs choses sur findViewById…

Qu’est ce que fait findViewById ? Il recherche sur l’ensemble de l’arbre XML de référence qu’il possède l’élément donné en paramètre.

Importante chose à savoir, il existe deux fonctions findViewById, la première sur l’Activity. Pour définir l’arbre XML de référence d’une Activity, il faut utiliser :

setContentView(fichier.xml);

Ensuite, le findViewById, recherchera uniquement dans ce fichier là, donc si votre élément ne s’y trouve pas, la fonction vous retournera null, comme pour moi… 😀

Le deuxième findViewById s’applique sur une View et recherchera donc l’élément donné en paramètre dans l’arbre XML de cette View…Il s’utilise ainsi :

TextView view = (TextView) view.findViewById(R.id.bidule);

Que faire donc, si vous voulez récupérer un élément qui ne se trouve ni dans le fichier xml de référence de l’activity courante, ni dans les views que vous possédez ?
Très simple, il suffit d’utiliser inflate, comme ceci :

TextView view = (TextView) this.getLayoutInflater().inflate(R.layout.monLayout, null);


Voilà une application qui va vous permettre d’utiliser votre smartphone comme souris pour votre PC et plus encore.

Une fois connecté vous aurez la possibilité de manipuler certaines applications comme Spotify avec des boutons classiques (play, stop, musique suivante, etc…) mais aussi de prendre le contrôle de votre souris en utilisant votre écran tactile comme le touchpad d’un ordinateur portable.

Vous avez évidement besoin d’installer un logiciel sur votre ordinateur que vous trouverez sur le site officiel : http://www.unifiedremote.com/

Et l’application est à télécharger sur le Google Play Store : Unified Remote