Qu'est ce qu'on se fait ch ... !

Aller au contenu | Aller au menu | Aller à la recherche

Tag - Planet-Libre

Fil des billets - Fil des commentaires

Accéder à des sites utilisant un certificat avec firefox 4

2294144289_a54db90ac5.jpg[1]

J'utilise depuis la première beta firefox 4. Ce dernier est excellent mais nécessite une petite adaptation pour accéder aux sites utilisant un certificat comme celui des impôts.

Je vais prendre pour exemple ce dernier. Si vous essayez de vous connecter à l'espace personnel avec un certificat, vous obtenez le message d'erreur suivant :

Selection_020.png

Après une recherche sur le bugzilla de firefox et sur le wiki, voici la configuration qu'il faut appliquer pour que cela fonctionne:

Selection_019.png

  • Entrer dans la barre d'adresse 'about:config'
  • Cliquer sur promis ...
  • Puis rentrer la clé 'security.ssl.allow'
  • Changer la valeur à true en cliquant sur la ligne

Redémarrez firefox et hop vous pouvez aller payer vos impôts :)

Dansons la samba avec le WDTV Live

Bon je sais le jeu de mots est des plus nazes douteux. Néanmoins, je vais tâcher d'expliquer le fonctionnement de mon dernier joujou dans mon réseau local et plus particulièrement avec mon os préféré debian ubuntu gnu/linux.

D'abord, voici l'engin : wdtv-live.jpg

Ce produit fonctionne très bien et s'intègre parfaitement dans un réseau via un port ethernet et boitiers CPL. Le protocole supporté est SAMBA. Avant toute chose, il convient de bien lire la doc relative à samba. Tout est dedans ! Cet article n'illustre que l'application avec le boitier WDTV.

Configuration du boitier en tant que disque dur réseau multimédia

Une fois installé un disque dur externe et le réseau activé, on peut accéder au boitier sans problème. Allez dans réseau et vous voyez apparaître l’icône suivante partage_reseau_tvlive.png

Il ne reste plus qu'à faire des copies de fichier via nautilus ...

Configuration en tant que client

Je peux aussi accéder directement au contenu de mon pc sans avoir à faire de copie depuis ce dernier. Il suffit de configurer le PC en serveur samba.

Exécuter la commande suivante :

$apt-get install samba smbfs  system-config-samba

Après aller dans le menu suivant

menu_samba.png











Puis sélectionner les répertoires à partager:

Configuration_du_serveur_Samba_016.png

Editer_un_partage_Samba_017.png

Pour ne pas trop me prendre la tête, j'ai mis les partages en lecture pour tous. Pas besoin de renseigner un identifiant/mot de passe coté boitier WD. Ce dernier me met quand même une mire d'identification que je renseigne avec le compte anonymous. On peut configurer le partage par ce menu :

Et me voila avec un beau disque dur multimédia réseau parfaitement intégré dans mon réseau local ! :D

Remarques :

  • On peut paramétrer le partage directement via le menu contextuel de nautilus
  • Pour la partie serveur, on peut installer un serveur UPNP tel que mediatomb.

Mon fichier .emacs

Me revoila sur emacs, le seul éditeur a voir une église secte. Je me lassais des éditeurs tels que gedit, geany ou notepad++ sous windows. A la différence d'il y a quelques années, je suis passé directement sur emacs et non xemacs. J'ai du créer un fichier de configuration pour avoir un comportement optimal ( pour moi )

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(column-number-mode t)
 '(current-language-environment "Latin-1")
 '(show-paren-mode t)
 '(size-indication-mode t)
 '(uniquify-buffer-name-style (quote forward) nil (uniquify)))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 )

;; lilypond
(autoload 'LilyPond-mode "lilypond-mode")
(setq auto-mode-alist
      (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))

(add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock)))

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

; affichage des lignes
(global-linum-mode 1) 
(global-hl-line-mode 1)

;;
;; utf-8
;;
(setq locale-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

;;  	mode de suppression ( avec la touche DELETE )
(delete-selection-mode t)

Il ne me reste plus qu'une chose à résoudre sous windows la prise en compte des accents lors des copier coller vers emacs : ssse008.png

Utilisation des API Google

Dans le cadre de mon appli jsf sur gae, j'ai à interagir avec le service de calendrier google. Voici les actions que j'ai menées pour installer et faire fonctionner le bousin:

Installation du client GDATA dans le référentiel MAVEN

 $ mvn install:install-file -DgeneratePom=true -DgroupId=com.google.gdata -DartifactId=gdata-core
 -Dpackaging=jar -Dfile=gdata-core-1.0.jar -Dversion=1.0


$ mvn install:install-file -DgeneratePom=true -DgroupId=com.google.gdata -DartifactId=gdata-client
 -Dpackaging=jar -Dfile=gdata-client-1.0.jar -Dversion=1.0

 $ mvn install:install-file -DgeneratePom=true -DgroupId=com.google.gdata -DartifactId=gdata-calendar
 -Dpackaging=jar -Dfile=gdata-calendar-2.0.jar -Dversion=2.0



Ajout dans le fichier pom.xml

<dependency>
            <groupId>com.google.gdata</groupId>
            <artifactId>gdata-core</artifactId>
            <version>1.0</version>
        </dependency>
 
        <dependency>
            <groupId>com.google.gdata</groupId>
            <artifactId>gdata-client</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.gdata</groupId>
            <artifactId>gdata-calendar</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
            <version>1.0</version>
        </dependency>

Identification

La partie la plus subtile. Trois choix sont possibles, une authentification par token, par login/password et par openid. J'ai choisi de gérer le token car mon application va utiliser la gestion des comptes google.

J'ai choisi de créer une servlet qui fait les actions suivantes : Proposer une page qui redirige vers la connexion google, récupération du token et stockage en base pour chaque utilisateur.

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String tokenParameter = req.getParameter("token");
        if (tokenParameter == null) {
            req.getRequestDispatcher("/faces/retreiveToken.xhtml").forward(req, resp);
        } else {
            try {
//procedure google pour recuperer le token et le rendre permanent
                String onetimeUseToken = AuthSubUtil.getTokenFromReply(req.getQueryString());
                String sessionToken = AuthSubUtil.exchangeForSessionToken(onetimeUseToken, null);
                Logger.getLogger(TokenServlet.class.getName()).log(Level.INFO, "Token recupéré");
 
                UserManagedBean userManagedBean = (UserManagedBean) req.getSession(false).getAttribute("userManagedBean");
//assignation du token
                User user = userManagedBean.getUser(req);
                user.setToken(sessionToken);
//persistence
                BusinessService<User> userService = new BusinessServiceImpl<User>();
                userService.update(user, user.getId());
            } catch (GeneralSecurityException ex) {
                Logger.getLogger(TokenServlet.class.getName()).log(Level.SEVERE, null, ex);
            } catch (AuthenticationException ex) {
                Logger.getLogger(TokenServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

La page de connexion est assez simple :

<ui:composition template="./standardtpl.xhtml">
            <ui:define name="content">
                <h:form prependId="false">
                    <p>MyApp needs access to your
                        Google Calendar account to read your Calendar feed. To authorize
                        MyApp to access your account,
                        <a href="#{userManagedBean.requestUrl}">Connexion sur google</a>
                    </p>
                </h:form>
            </ui:define>
        </ui:composition>

Le lien de connexion se crée de la manière suivante

public String getRequestUrl() {
        StringBuffer request = new StringBuffer(FacesContext.getCurrentInstance().getExternalContext().getRequestScheme()).append("://").append(FacesContext.getCurrentInstance().getExternalContext().getRequestServerName()).append(":").append(FacesContext.getCurrentInstance().getExternalContext().getRequestServerPort()).append("/tokenServlet");
        return AuthSubUtil.getRequestUrl(request.toString(),
                "http://www.google.com/calendar/feeds/",
                false,
                true);
 
    }

Conclusion

Je m'arrêterai la dans les exemples car la documentation est déjà bien détaillée sur ce sujet. Quoi qu'il en soit, je trouve que chez google, a défaut d'oeuvrer pour les données privées de ses utilisateurs, il savent très bien faire des API et les documenter :)

Seule limitation, la possibilité de faire des tests unitaires avec le token. La gestion du retour avec un proxy n'est pas possible (menfin à ce que j'ai vu ...)

spotify vs wine vs ubuntu 10.04 vs M-audio audiophile 24/96

Je sais ca fait beaucoup pour un combat. On se dirait presque dans expandables.

Quand vous installez wine et que vous voulez avoir le son pour écouter spotify ( en version gratuite ) par exemple avec votre superbe carte son m-audio audiophile 24/96, vous obtenez le mesage d'erreur suivant :

fixme:mixer:ALSA_MixerInit No master control found on M Audio Audiophile 24/96, disabling mixer

La solution réside dans Jack L'installation est assez simple

$sudo apt-get install jack-tools qjackctl alsa-tools

Après lancez qjackct en ligne de commande ou par le menu Applications> Son & Vidéo > JACK Control

J'ai mis la configuration ( très basique j'en conviens ) suivante :

Selection_011.png

Selection_012.png







Ensuite, cliquez sur "Connecter"

Selection_010.png

Puis sélectionnez system dans chaque panneau Selection_007.png

Vous devriez obtenir l'écran suivant :

Selection_008.png

Après dans un terminal lancez l'écran de configuration de wine :

$winecfg

Allez dans l'onglet Son et sélectionnez Jack comme moteur de son :

Selection_009.png

Et maintenant vous pouvez jouer à vos jeux favoris, écouter spotify ... mais le son passant par pulseaudio ne fonctionne malheureusement pas :-(

Si vous voulez avoir le son dans firefox ,rhythmbox, ou dans toute application utilisant pulseaudio, vous devrez malheureusement fermer l'outil JACK Control.

Perl pour modifier des fichiers "en ligne"

Bon, j'en ai un peu marre de rechercher systématiquement la même commande PERL sur google, donc voici comment remplacer "en ligne" une chaine de caractère par une autre dans un fichier

perl -p -i -e "s/SEARCH_STRING/REPLACEMENT_STRIGN/g" mon_fichier

Exemple :

perl -p -i -e "s/2.1.22/2.1.23/g" conf.properties.*

Voila ca fut bref, mais espérons ca servira à d'autres personnes ...

Mise à jour du netbook asus eeepc 1000H vers Lucid Lynx

A l'instar de mon autre ordinateur, j'ai mis à jour le netbook asus eeepc 1000h qui avait Karmic vers Lucid.

img_78131_asus-eee-pc-1000h.jpg

Comme ma dernière maj, tout s'est bien passé. Voici le résumé de la configuration avec l'état pour chaque composant :

ComposantStatut Commentaires
CPUOKintel atom
RésolutionOK1024x600
Carte vidéoOKintel
HibernationOK
ACPIOK
Mise en veille prolongéeOK
Disque durOKST9160310AS
Carte EthernetOK
WIFIOKrt2860sta
USBOK
Carte audioOKHDA-Intel - HDA Intel
BluetoothNOKLa connexion à mon téléphone fonctionne
Ports VGAOKEdit : Merci à [Respawner|http://www.respawner.fr/|fr]
Touches spécialesOK
TouchpadOK
WebcamOKTest fait avec cheese

Pour info, voici le résultat de la commande dmesg.

Linux On Laptops

Mon passage sur Lucid

Voila la nouvelle version d'UBUNTU qui arrive, je vais donc de ce pas rejoindre la horde de blogueurs/utilisateurs qui vont décrire leur installation/maj :)

warning.pngTout d'abord, petit rappel d'usage : à ce jour, la version 10.04 d'ubuntu est encore en version RELEASE CANDIDATE. Vous l'installez à vos risques et périls

Mise à jour

Lancement de la maj :

$sudo update-manager -c -d

C'est l'une des premières fois qu'une maj se passe super bien et ne m'oblige pas à faire une réinstallation :-) .

Actions menées après la mise à jour

Dépôts

Après l'installation j'ai réactivé les dépôts medibuntu et partner

Problème de la carte son M -audio audiophile

Bug sur la carte son ( encore ). Je vais tâcher de faire un patch et publier un rapport de bug sur launchpad

JDK/JRE/ Plugin java

Pour plus de stabilité, je préfère utiliser le JAVA de SUN, j'ai donc effectué les actions suivantes:

  1. Suppression d' openjdk et du plugin icedtea par la même occasion ( faites une recherche dans synaptic de icedtea et supprimez ce qui est installé)
  2. Ajout du plugin JAVA de sun et du JDK ( qui sont présents dans le dépôt partner)

Installer et configurer Gnome-SHELL comme wm par défaut

Je suis passé tout récemment sur lucid lynx et maj mon matériel. J'ai donc eu envie d'avoir plus d'effets tout aussi inutiles qu'indispensables sur mon bureau :)

Me voila donc à essayer l'un des éléments du futur troll gnome 3.0 : gnome-shell

warning.pngPetit rappel d'usage : Gnome-SHELL est encore expérimental - à mon humble avis - il peut survenir des erreurs et mettre à mal votre système ( freeze / perte des données de session gnome...)

Installation

$sudo apt-get install gnome-shell

Exécution

Pour le tester


$gnome-shell --replace

Pour revenir en arrière

$metacity --replace
$gnome-panel

Gnome-shell comme window manager par défaut

Soit vous reprenez la méthode décrite dans la doc ubuntu-fr, soit vous modifiez les clés suivantes dans le registre gconf ( je préfère cette version car elle évite un démarrage préalable de compiz )

Démarrez gconf-editor , puis renseigner les valeurs suivantes dans la clé /desktop/gnome/applications/window_manager ( current et default ) :

Selection_004.png

Il suffit de redémarrer la session et gnome-shell devrait remplacer metacity :)

m-audio audiophile24/96 et lucid lynx

Mon PC fraichement installé avec le koala, me voila dans l'idée de faire fonctionner ma carte son m-audio audiophile 24/96.Ce qui semblait fonctionner sans problème sous Jaunty ne fonctionnait pas du tout avec karmic :-( J'ai eu précédemment un gros coup de bol. Après un test de son, je n'avais aucune carte son détectée via aplay,pulse audio ou n'importe quel outil.

J'ai d'abord cru à un problème d'alsa ou lié à la version de pulseaudio . J'ai donc mis à jour mon OS favori vers la version alpha2 de lucid lynx et la toujours le même problème (j'en ai pas eu d'autres, c'était déjà ça ...)

Voici ce que j'ai effectué comme manipulation

warning.png ATTENTION : je suis passé à une version alpha et je modifie un des fichiers de configuration. Si vous reproduisez cette manipulation, ca peut provoquer chez vous une grosse instabilité de votre système.

ICE1712: probe of 0000:04:00.0 failed with error -5
ICE1712 0000:04:00.0: PCI INT A disabled

Pour cette erreur, la seule manipulation que j'ai trouvé à faire était de .... changer la carte son de slot PCI. Je sais c'est plutôt brutal, mais ca fonctionne.

Après redémarrage, ma carte était reconnue par le système mais ne produisait pas de son.


$ dmesg | grep -i ice1712
[   13.181247] ICE1712 0000:04:01.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   13.181272] ice1712: Using board model M Audio Audiophile 24/96

Pulseaudio ne connaissait pas les sorties analogiques. J'ai donc suivi ce post et ajouté les lignes suivantes dans la section PCM.FRONT du fichier /usr/share/alsa/cards/ICE1712.conf

CE1712.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type route
	ttable.0.0 1
	ttable.1.1 1
	slave.pcm {
		type hw
		card $CARD
	}
        slave.format S32_LE
        slave.channels 10 
}	

Après un redémarrage, il ne reste plus qu'à sélectionner la bonne sortie ( analogique dans mon cas) :)

selectionsortieanalogique.png

Bon, j'espère que cette manipulation pourra servir à d'autres personnes. Franchement, je ne pense qu'il soit nécessaire de passer sous lucid lynx.Je n'ai pas testé la dernière configuration sous Karmic. Si il y en a qui sont dans le même cas, n'hésitez pas à l'indiquer dans les commentaires :)

- page 1 de 10