Le Blog de C-quad

Archive pour la catégorie ‘Développement’

Shell – Opérateur sur les variables

Aujourd’hui, je vais vous parler des opérateurs sur les variables shell. C’est loin d’être une nouveauté, ces opérateurs existent depuis le début du shell, mais je me rends compte que les opérations possibles directement dans les variables restent plutôt méconnues.

Une variable shell accepte deux écritures, soit $VARIABLE ou ${VARIABLE} jusque la c’est quasi connu de tous. Mais pourquoi donc y a t’il deux écritures ?

L’une des raisons c’est qu’il est possible de réaliser des opérations sur la variable grâce à la deuxième écriture, alors que cela ne l’est pas avec la première.

Prenons un exemple :

$ VARIABLE=/home/Ced/essai_Ced.txt

Comme $# retourne le nombre de paramètre reçus par un programme ${#VARIABLE} retourne le nombre de caractères de la VARIABLE soit sa longueur.

$ echo ${#VARIABLE}
23

Il est possible d’appliquer une opérande sur la variable:

Pour retirer des éléments en partant de la gauche (le début) :
C’est à dire que si l’on écrit ${VARIABLE#<pattern>} , on retire en partant de la gauche le premier pattern correspondant dans la variable.

exemple :

$  echo ${VARIABLE#*Ced}
/essai_Ced.txt

Et si l’on désire retirer le plus grand pattern correspondant, il faut doubler le #,  c’est à dire ${VARIABLE##<pattern>}

exemple :

$ echo ${VARIABLE##*Ced}
.txt

Pour retirer des éléments en partant de la droite (la fin):

C’est à dire que si l’on écrit ${VARIABLE%<pattern>}, on retire en partant de la fin le permier pattern correspondant.

exemple :

$ echo ${VARIABLE%Ced*}
/home/Ced/essai_

Et si l’on désire retirer le plus grand pattern correspondant, il faut doubler le %, c’est a dire ${VARIABLE%%<pattern>}

exemple :

$ echo ${VARIABLE%%Ced*}
/home/

PS : Cet article a aussi pour vocation de me servir comme mémo, étant donné qu’une recherche de ## ou de %% n’est pas des plus aisées dans les moteurs de recherche.

Installer le kit de développement Android sous Fedora (2/2)

Cet article est la suite de l’article Installer le kit de développement Android sous Fedora (1/2)

Configurer le SDK Android sous Eclipse

Lancer Eclipse, aller dans Fenêtre -> Préférences -> Android et sélectionner le repertoire ou le SDK a été décompressé. Dans notre cas c’est ~/android-sdk-linux_x86 :

Une fois les modifications appliquées et validées, nous allons pouvoir créer un nouveau projet Android.

Créer un nouveau projet Android

Dans Eclipse, nous selectionnons Fichier -> Nouveau -> Projet. Si la configuration d’Eclipse est correcte vous devez avoir la possibilité de sélectionner Android.

Nous sélectionnons donc Android Project.

Cliquer sur Terminer et Eclipse va créer le projet, le squelette de notre classe est crée HelloFedora.java.

Nous l’éditons avec l’exemple suivant :

package com.exemple.hellofedora;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloFedora extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 TextView tv = new TextView(this);
 tv.setText("Hello, Android Developer\n Thank you, for using Fedora Linux");
 setContentView(tv);
 }
}

Exécution du code

Pour exécuter ce code, il nous faut lancer l’hôte virtuel, pour cela aller dans Fenêtre -> Android SDK and AVD Manager. Choisir dans Vitual Devices l’hôte sur lequel vous voulez faire tourner l’application et cliquer sur Start.

Il nous reste à lancer l’exécution sous Eclipse : Exécuter -> Exécuter (Ctrl+F11), l’application sera automatiquement déployée sur l’émulateur en cours d’exécution.

Je vous invite à aller directement sur http://developer.android.com pour prendre connaissance des API Android.

Installer le kit de développement Android sous Fedora (1/2)

Cet article détaille la marche à suivre afin d’installer la SDK Android et de configurer Eclipse afin de créer des applications Android avec Fedora. Cet article est intégralement basé sur la page fedoraproject traitant d’Android. Je l’ai juste agrémenté de quelques captures d’écrans.

Pré-requis

Eclipse, que nous installons avec yum :

# yum install eclipse-jdt

Installation des plugins pour eclipse

Lancer Eclipse, aller dans le menu « Aide » et sélectionner « Install New Software … »

Cliquer sur « Ajouter » :

Le plugin Android pour eclipse peut nécessiter de télécharger des dépendances, il est nécessaire d’ajouter :

  • pour Eclipse Galileo
http://download.eclipse.org/releases/galileo/
  • pour Eclipse Helios
http://download.eclipse.org/releases/helios/

On ajoutera donc le plugin Android pour eclipse :

https://dl-ssl.google.com/android/eclipse/

On sélectionnera dans « Work with : » le plugin Android Ajouté :

On coche « Developer Tools » puis « Suivant » :

Il nous reste à accepter la licence et terminer. Eclipse est maintenant prêt pour réaliser des applications à destination d’Android. Mais il nous manque encore un moyen de les tester.

Installer le SDK Android

On téléchargera le SDK depuis http://developer.android.com/sdk/index.html

On le décompressera à l’endroit de votre choix, prenons l’exemple du « Dossier Personnel » ~/android-sdk-linux_x86

Il faut ajouter ce chemin à la variable PATH, nous éditerons donc le fichier ~/.bash_profile pour y ajouter en fin la section suivante :

PATH=$PATH:$HOME/android-sdk-linux_x86:$HOME/android-sdk-linux_x86/tools
export PATH

Rechargez votre profile pour que la nouvelle valeur du PATH soit prise en compte.

Installation des librairies nécessaire au SDK Android

Attention :

Si vous utilisez un système 64bit, il est malgré tout nécessaire d’installer les librairies 32bit parce que le SDK Android est 32bit.

 

Voici donc la liste des dépendances à installer :

# yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 \
              ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

Nous pouvons maintenant lancer le SDK et configurer notre premier smartphone virtuel sous Android. Placez vous dans le répertoire ou vous avez décompressé l’archive (android-sdk-linux_x86 pour moi) et lancer :

$ ./tools/android

Nous sélectionnons « Available Packages » :

Sélectionner les versions désirées et cliquer sur « Install Selected ».

Il faut encore créer le smartphone virtuel, pour cela aller sur « Virtual Devices » et cliquer sur « New » :

Le smartphone apparait ensuite dans la liste, il reste à cliquer sur « Start » pour le démarrer :

Fedora Test Day : Radeon (suite)

Ce billet fait suite à ma tentative de participation à la Journée de Test du pilote radeon pour Fedora 15.

Comme décrit dans le premier article sur le sujet,cela n’a pas été simple. Gnome 3 ne voulant pas se lancer du tout.

Après moult recherche sur le net, j’ai enfin trouvé la solution pour obtenir une interface graphique en désactivant gnome-shell :

cp /usr/share/gnome-session/sessions/gnome.session \
   /usr/share/gnome-session/sessions/gnome-shell.session
cd /usr/share/gnome-session/sessions
ln -sf gnome-fallback /usr/share/gnome-session/sessions/gnome.session

Et me voila avec une interface graphique qui est un mixte de gnome 3 et gnome 2…
Je vais pouvoir attaquer quelques tests.

Le déroulement des tests

Mis à part gnome-shell le reste des tests s’est bien déroulé.

Les résultats des tests sont disponible sur la page du projet , ci dessous les miens :

User Smolt Profile Basic test GNOME 3 start DPMS XVideo Rotation X restart
Cédric Olivier HW
Pass
Fail

[1]

Pass
Pass
Pass
Pass
Rendercheck GLX User switch VT switch Suspend Multihead
Pass

[2]

N/A
Pass
Pass
Pass
N/A
  1. gnome-shell background started but unusable
  2. File:Cquad radeon Renderchecklog.gz

Le résultat du « lspci » sur mon matériel graphique :

01:00.0 VGA compatible controller: ATI Technologies Inc RV770 [Radeon HD 4850]

Fedora Test Day : Intel

Hier, j’avais l’intention de participer aux tests des drivers libres radeon, j’ai malheureusement rencontré pas mal de souci. En attendant de les résoudre et n’aimant pas cette sensation de « travail » non accompli, j’ai donc décidé de participer aux tests des drivers graphiques Intel avec mon netbook (HP Mini 210)

http://fedoraproject.org/wiki/Test_Day:2011-02-24_Intel

Téléchargement des LiveCD

Suite aux soucis avec les LiveCD rencontrés hier sur radeon, j’ai décidé aujourd’hui de créer une clé LiveUSB en suivant cet article sur le wiki fedoraproject

Le déroulement des tests

Les tests sur mon netbook se sont très bien déroulés, et je n’ai rencontré aucune erreur mis à part l’exécution de totem. Un bug pour totem a donc été déposé sur le bugzilla redhat.

Les résultats des tests sont disponible sur la page du projet , ci dessous les miens :

User Smolt Profile Basic test GNOME 3 start DPMS XVideo Rotation X restart
Cedric Olivier HW
Pass pass
Pass pass
Pass pass
N/A
Pass pass
Pass pass
Rendercheck GLX User switch VT switch Suspend Multihead
Pass pass

[1]

Pass pass
Pass pass
Pass pass
Pass pass
Pass pass

Le résultat du « lspci » sur mon matériel graphique :

00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller
00:02.1 Display controller: Intel Corporation Pineview Integrated Graphics Controller

Pour ceux qui sont intéressés par les journées de Test Fedora vous trouverez le planning de ces journées ici.

Je vous invite fortement à y participer afin d’aider à améliorer la qualité de notre distribution. Fedora étant une distribution Linux qui a pour objectif de mettre en situation des projets innovants ces phases de test sont très importantes.