samedi 28 juin 2008

Monter automatiquement un disque NTFS au démarrage

Quand on vient de Windows, on veut souvent garder dans un premier temps Windows en dual boot.
On se retrouve donc généralement avec une partition formatée en NTFS à laquelle on voudrait accéder depuis Linux.
Pour cela nous avons besoin d'un programme qui permette de lire et écrire dans une partition NTFS. Ce programme existe et s'appelle ntfs-3g.

Voici donc maintenant la marche à suivre pour monter automatiquement au démarrage sa partition NTFS :

1° étape : Repérer quelle partition NTFS nous voulons monter :
sudo fdisk -l
Disque /dev/sda: 500.1 Go, 500107862016 octets
255 heads, 63 sectors/track, 60801 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x6ff16dbf

Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 1 6374 51199123+ 7 HPFS/NTFS
/dev/sda2 6375 33596 218657133+ 7 HPFS/NTFS
/dev/sda3 33596 47206 109323264 7 HPFS/NTFS
/dev/sda4 47207 60801 109201837+ 83 Linux


Pour ma part, il s'agit de la partition /dev/sda2 que je souhaite monter.

2° étape : Installer ntfs-3g si ce n'est pas encore fait :
sudo apt-get install ntfs-3g

3° étape : Créer un répertoire dans le dossier /media/ où l'on voudra faire pointer la partition, par exemple data_windows :
sudo mkdir /media/data_windows

4° étape : Ouvrir le fichier /etc/fstab :
sudo gedit /etc/fstab
Dans ce fichier, ajouter la ligne suivante :
/dev/sda2 /media/data_windows ntfs-3g defaults,locale=fr_FR.UTF-8 0 0

5° étape : Redémarrer l'ordinateur. Et si tout va bien, vous devriez voir un nouvel icône avec votre partition sur le bureau.

jeudi 26 juin 2008

Multiposte Free avec VLC

Pour avoir le multiposte de Free avec Ubuntu Linux 8.04 (Hardy Heron), la méthode est simple :

1. Installer VLC (à ce jour, la version 0.8.6) :
sudo apt-get install vlc

2. Créer un nouveau lanceur (raccourci) dans le menu, et dans la case "Commande" saisir la commande suivante :
vlc --m3u-extvlcopt --open http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

3. Ouvrir le port 8080 sur le firewall si ce n'est pas déjà fait.

Et voilà, pour accéder aux chaînes du multiposte, il suffit de cliquer dans le menu sur le raccourci nouvellement créé puis de sélectionner la chaîne voulue dans la liste de lecture de VLC.

Source

mercredi 25 juin 2008

Commandes linux : aide-mémoire

Aujourd'hui, 2 liens sur les commandes linux.

Sur Linux France, une explication des principales commandes de base.

Sur Logilin, un simple aide-mémoire pour avoir un rapide rappel des commandes et de leur syntaxe. (Merci Patrice pour le lien)


[Edit]
Ajout d'un nouveau lien intéressant avec une série de tutoriels vidéos intéressants pour débutants :
http://www.tutoriels-video.fr/guide-videos-dubuntu-pour-les-debutants/
(Merci bvek1)

lundi 23 juin 2008

Partage de droits entre serveur web et utilisateur

PARTIE 1

Donner les droits en écriture à un répertoire (par exemple /home/guillaume/www/site/) :
- au serveur web (utilisateur www-data du groupe www-data)
- à l'utilisateur (utilisateur guillaume du groupe guillaume)

Ceci permettra par exemple de partager le répertoire via Samba et l'éditer à distance.

1° étape : Placer l'utilisateur guillaume dans le groupe www-data
sudo usermod -a -G www-data guillaume

2° étape : Définir l'utilisateur et le groupe des fichiers et répertoires du site pour que le serveur y ait accès
sudo chown -R www-data:www-data /home/guillaume/www/site/

3° étape : Donner au groupe les droits en écriture sur le site
sudo chmod -R g+rw /home/guillaume/www/site/

4° étape : Que les droits soient appliqués aux nouveaux répertoires et fichiers du site qui seront créés
sudo chmod -R a+t /home/guillaume/www/site/


PARTIE 2

1° étape : Configurer Samba pour le partage du site et l'édition du site à distance :

sudo gedit /etc/samba/smb.conf


Dans le fichier de configuration qui s'ouvre, ajouter à la fin les lignes suivantes :
[www]
comment = Web working
path = /home/guillaume/www/site
guest ok = yes
browseable = yes
read only = no
public = yes
force user = guillaume
force group = www-data


2° étape : Relancer Samba :

sudo /etc/init.d/samba restart

lundi 16 juin 2008

Jouer en plein écran à Urban Terror (ou autres jeux) avec un dual screen

Dans un précédent message, j'expliquais comment désactiver automatiquement Compiz-fusion pour jouer à Urban Terror.

Il me restait un problème en suspens : je voulais que le dual screen se désactive automatiquement lorsque je lançais le jeu pour que le jeu ne s'affiche pas sur les 2 écrans à la fois.

J'ai maintenant la solution, trouvée sur les forums Ubuntu (comme quoi, on trouve vraiment réponse à tout sur internet :) )

Le dernier message de cogadh indique la solution : changer la ligne Option : "MetaModes".

Je l'ai personnellement adaptée de la manière suivante :

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-0"
Option "metamodes" "CRT: 1280x1024 +1280+0, DFP: 1280x1024 +0+0; DFP: 1280x1024 +0+0, CRT: NULL"
EndSection"


La première série de résolutions représente la configuration en mode "dual screen" tandis que la deuxième série représente l'affichage "full screen" avec un seul écran activé. Comme on peut le voir, la résolution du deuxième écran est à NULL, ce qui a pour effet de le désactiver.


Et voilà ! Encore un pas de fait dans le monde linux :)

Prochaine étape, essayer de faire communiquer Linux avec mon PDA-phone sous Windows Mobile 6.
Au programme :
- Synchronisation des contacts, du calendrier et des tâches
- Transfert de fichiers entre l'ordinateur et le mobile; Et si possible, la reconnaissance du mobile par l'ordinateur en tant que disque externe.
- Lecture et/ou conversion des vidéos qui sont au format 3GP.

Si vous avez déjà des pistes sur le sujet, n'hésitez pas à m'en faire part :)

Trou noir dans la console

Aujourd'hui, astuce pour les étourdis de la console. Vous avez tapé une commande mais elle était tellement longue et compliquée que vous avez oublié la syntaxe exacte, ou vous avez tout simplement la flemme de tout retaper à la main ?

Ici, 2 solutions se présentent :
- Utiliser les flèches haut et bas du clavier jusqu'à retrouver la commande en question
- Ou encore mieux, la recherche : Ctrl+R, quelques lettres de la commande, et la voici sous vos yeux !

samedi 7 juin 2008

Raccourci utile : Exécuter

Le raccourci de la commande "Exécuter" que j'utilise beaucoup sous Windows (touches "Windows" + R) est aussi disponible sous Linux à l'aide des touches Alt + F2.

Note : les linuxiens ont une habitude bizarre, ils n'aiment tellement pas Windows, qu'ils appellent la touche de leur clavier qui a le logo Windows (celle entre la touche Ctrl et la touche Alt) : "Super" au lieu de "Windows".

mardi 3 juin 2008

Pourquoi ce blog ?

Je voulais au départ le mettre dans la description du blog (en haut sous le titre) mais finalement, je préfère l'expliquer plus en détail ici :

Je viens à la base de l'univers Microsoft : utilisation de Windows et de la suite Microsoft Office au quotidien depuis de nombreuses années, développement en ASP puis en ASP.NET, configuration de serveur IIS ...

Bien que je me sois essayé plusieurs fois à Linux ces dernières années, ces expériences posaient tellement de problèmes qu'elles furent à chaque fois de courte durée malgré ma bonne volonté.

S'ensuivit alors une rupture de taille : j'ai changé de boulot tout récemment.

Arriva alors le PHP que je connaissais assez bien à titre personnel mais que je n'avais jamais utilisé dans un cadre professionnel. Puis première mise en production d'un site en PHP.... sur un serveur Linux avec Apache et MySQL !
Il me fallut bien commencer à appréhender tout ce petit monde plutôt peu connu pour moi :)

En parallèle, suite aux nombreux laïus de mon cher collègue Patrice, inconditionnel afficionado de Linux et du monde des logiciels libres, j'ai installé Fedora (semi-échec) puis Ubuntu 8.04 (là, ce fut la révélation) à la maison, et j'ai enfin été conquis par Linux :
Plus de problème irrésolvable à mon niveau, une prise en main plutôt simple et une aide particulièrement claire et fournie mise à disposition par l'importante communauté d'utilisateurs.

Voici maintenant plus d'un mois que j'ai installé Ubuntu, et je suis arrivé à ce stade où l'on démarre sous Linux par défaut et qu'on utilise plus le fameux Windows-toujours-disponible-en-dual-boot-au-cas-où-on-sait-jamais.

Les jours passent et petit à petit j'apprends à mieux connaître Linux, sa logique, son environnement, sa manière de fonctionner... C'est alors que j'ai voulu ouvrir ce blog pour garder en mémoire toutes les astuces que je découvre jour après jour dans mon expérience avec Linux, que ce soit en tant que simple utilisateur ou qu'en administrateur serveur.

Comme je suis aussi développeur, ne vous étonnez pas de trouver aussi diverses choses concernant le développement Web :)

Convertir une vidéo Ogg Théora au format AVI

Pour publier la vidéo de démonstration que j'ai voulu mettre dans mon article sur Trackmania Nations Forever, j'ai fait une capture vidéo de mon écran grâce à un outil très utile du nom d'Istanbul Desktop Session Recorder.
Les fichiers produits sont au format vidéo Ogg Théora. Seulement, Blogger n'accepte pas ce format et j'ai donc dû convertir cette vidéo au format AVI. Une rapide recherche m'a amené à trouver l'astuce ci-dessous :

Cette ligne de commande vous permettra de convertir une vidéo Ogg Théora au format AVI :
mencoder -idx votre_fichier.ogg -ovc lavc -oac mp3lame -o votre_fichier.avi
(Il vous faudra donc installer mencoder et mp3lame si vous ne les avez pas encore)

Trackmania Nations Forever sous Linux : C'est possible !!!

Faites comme moi, suivez le tuto sur kookyoo.net.

Ca a fonctionné jusqu'à ce que j'essaie le dernier point du tutoriel : récupérer les fichiers de sauvegarde de Windows :-(

[Edit du 03/06/2008]
J'arrive enfin à jouer au jeu, mais pas encore à récupérer les médailles que j'ai acquis en jouant sous Windows.

Pour ceux qui, comme moi, voient une boîte floue lors du lancement du jeu à la place de la boîte de dialogue de connexion, il faut aller dans la configuration avancée du jeu et sélectionner "PC1" pour le niveau de qualité des Shaders.

Explication en vidéo :

Afficher un élément à chaque passage dans une boucle sauf au dernier passage

Une fois n'est pas coutume, encore que..., parlons PHP...

Pour afficher une liste d'items, on veut souvent mettre un séparateur entre chaque élément comme par exemple ci-dessous :
Windows | Linux | Mac OS
Vous remarquerez que le séparateur n'est pas présent au début ni à la fin.

Dans une boucle PHP, on pourrait être tenté de faire comme ci-dessous :
$i = 0;
$arrayCount = count($array);
foreach ($array as $element) {
  echo $element;
  if ($i < $arrayCount) {
    echo ' | ';
  }
  $i++;
}


Alors qu'il y a en réalité beaucoup plus rapide :
$flag = false;
foreach ($array as $element) {
  if ($flag) {
    echo ' | ';
  }
  echo $element;
  $flag = true;
}


Merci Patrice ;)

Foreach plus lent que while list

La démonstration sur ce site :
PHPBench

[Edit 04/06/2008]
Eh bien non, l'auteur du bench s'était trompé et avait oublié de remettre le pointeur du tableau au début. Donc ça va forcément plus vite d'exécuter le traitement que sur le dernier élément du tableau :)

Je reprends donc mes foreach d'avant qui restent en plus beaucoup plus lisibles à mon goût.

Commandes de base linux

Quelques commandes pour administrer un serveur linux (Vive la console !) :

Lister les fichiers présents
ls : liste les fichiers en vue simple (juste les noms)
ls -l : liste les fichiers en vue détaillée (type (fichier, répertoire, lien symbolique, ...), droits d'accès sur les fichiers, taille, date
ls -la : même chose qu'au dessus mais avec les fichiers cachés en plus

Naviguer dans les répertoires
cd /home : change de répertoire (ici, va dans le répertoire racine "home")
cd .. : va dans le répertoire parent
cd ~ : va dans le répertoire courant de l'utilisateur
pwd : donne le chemin complet vers le répertoire où l'on se trouve.

Edition de fichiers
rm : Supprime un fichier/répertoire/lien symbolique
rm -R : Supprime de façon récursive, pour effacer un répertoire et tout son contenu par exemple
rm -f : supprime sans demander de confirmation
cp : copie un fichier/répertoire/ ...
mv : déplace ou renomme un fichier

Lecture de fichiers
cat : lire le contenu d'un fichier
cat | more : lire le contenu d'un fichier ligne à ligne (touche Espace pour passer à la ligne suivante), ou page par page (touche Entrée). Utile si le fichier est trop long pour tenir sur une page. Ctrl+Z permet d'arrêter la lecture du fichier avant d'être au bout.
cat | less : comme cat | more mais permet seulement de lire ligne par ligne

Ecriture
echo toto : écrire
echo $? : affiche le retour de la dernière commande. 0 si pas d'erreur ou code d'erreur
| : redirige la sortie vers une commande.
> : redirection de la sortie vers un fichier (écrase le fichier s'il existe)
>> : redirection de la sortie vers un fichier (ajoute à la fin du fichier s'il existe, sinon le crée)
< : redirection du contenu d'un fichier vers la commande
<< : redirection de la 1° ligne du contenu d'un fichier vers la commande
<<< : redirection du flux texte vers la commande. Le contenu complet doit être dans la ligne

Divers
dmesg : Affiche les derniers messages du noyau linux depuis le démarrage de la machine
Lien relatif : Plusieurs noms pour un même fichier.
Lien symbolique : Equivalent aux raccourcis Windows.