Vincent Mazenod
Updates
-
Quoi de 9 http://t.co/AeJw9pJe un concept qui déchire avec une mention spécial pour ce mix <3
-
« Entre le 15 mai et le 15 décembre 2011, aucun film français n’a été téléchargé sur le Web » http://t.co/iJyk9n8J et ouai!
-
ne lit pas 20minutes, n'a pas la carte de fidélité, et s'en branle des points cadeaux ... Merci!
-
RT @aymkdn: "Un chef de projet, c'est celui qui croit qu'avec 9 femmes on peut réussir à faire un bébé en un mois" - @briceatwork #sudweb
-
j'ai envie de dire : "salut les p'tits clous!"
-
mazenovi/symfony2-propel-todomvc http://t.co/cllJHJaA a symfony2 + propel + backbone js project
-
@GuitarExtended y dit ki voit pas l'intérêt :p
-
Il se greffe un iPod sur le bras ! http://t.co/k6JExrzO #QuiEstPlusCon?
-
@ybb_fr ok
-
$ sudo kill -9 1984 #TrueStory
-
@ybb_fr why not
-
@ybb_fr ratio 30% c'est moi qui suis de mauvaise fois ok! mais bon 17,00€ un fichier c'est scandaleux
-
@ybb_fr mais le tuyau qui le paie? Si le tuyau raccourci qui fait des économies?
Updates
Ping.fm Photos
Posts
Audio
Profile
Summary
administration of hosting server (Debian / FreeBSD / Windows)
Experience
- Aug 2002 - Presentingénieur d'Etude CNRS / CERDIWeb project manager / development / webmastering
- 2008 - Presentconsultant / cadrexport
- 2003 - PresentProfessor / IUT SRC Vichy
- 2003 - Presentweb developper / Univeristé d'Auvergne
- Sept 2001 - Presentingénieur d'Etude / rectorat de l'académie de clermont ferranddatabase developper
- Mar 2001 - Presentstagiare / cri de l'ensmpweb developer
Education
-
2008 - 2012Université d'Auvergne (Clermont-Ferrand I)Professor in web development
-
1995 - 2001Université Blaise Pascal (Clermont-II) - Clermont-Ferrand
Additional Information
Posts
J’ai toujours aimé les solutions graphiques pour le design du modèle des applications PHP que je développe. Que ce soit avec DBDesigner pour symfony 1.0, ou avec MySQLWorkbench pour symfony > 1.2 .
Etant maintenant fixé sur l’ORM Propel j’ai pris le parti de développer un outil permettant de gérer l’intégralité des paramètres du schéma Propel avec précision et de les exporter au format xml: PropelUtility
PropelUtility s’appuie sur l’outil de modélisation graphique MySQLWorkbench et lui ajoute simplement une interface de gestion et d’export de tous les paramètres propres à Propel.
PropelUtility est pérenne puisque MySQLWorkbench est maintenu par l’équipe MySQL elle même (DBDesigner est déprécié) et qu’il sera compatible Propel 2 !
J’ajoute que c’est mon premier projet Python … Alors n’hésitez pas à me conseiller si vous êtes un habitué: je ne demande qu’à améliorer PropelUtility
qu’est ce que PropelUtility ?
- PropelUtility permet de concevoir et d’exporter au format xml un schéma Propel à partir d’un schéma MySQLWorkbench existant (fichier *.mwb)
- PropelUtility permet de gérer tous les éléments de schéma propres à Propel non gérés par MySQLWorkbench
- PropelUtility est livré sous forme d’un plugin MySQLWorkbench écrit en Python. En cela il marche sous Windows, Linux et Mac OS
Ce que PropelUtility n’est pas …
- PropelUtility ne permet pas de modifier les informations du schéma modifiables avec MySQLWorkbench
- PropelUtility ne prévoit aucune conversion ou sortie en YAML (vous pouvez par exemple utiliser la commande symfony propel:schema-to-yml)
PropelUtility
Installation
via la ligne de commande
ou dézippez l’archive téléchargée à partir de la page github de PropelUtility
EDIT!!
Cette partie de l’installation a été simplifiée par une version en un seul fichier
La version en plusieurs fichiers est maintenue sous le nom de PropelUtilityDev pour faciliter les contributions
Copiez ensuite la totalité du projet (i.e. propel_utility_grt.py ainsi que le dossier PropelUtility et son contenu) dans l’un des répertoires « modules » de MySQLWorkbench.
Ce peut être un répertoire de l’installation de MySQLWorkbench, c’est à dire quelque chose comme:
- C:\Program Files\mysql-workbench\modules
- ou /usr/lib/mysql-workbench/modules sous linux
ou mieux un répertoire de l’utilisateur, typiquement:
- C:\Users\username\AppData\Roaming\MySQL\Workbench\modules
- /home/username/.mysql/workbench/modules sous linux
Une fois copié …
allez dans « Scripting » -> « Install Plugin / Module … » naviguer jusqu’à l’emplacement du fichier propel_utility_grt.py qui vient d’être copié dézippé ou gité, sélectionnez le, puis redémarrez MySQLWorkbench.
PropelUtility ajoute deux nouvelles entrées à MySQLWorkbench dans « Plugins » -> « Catalog » :
- « Propel Utility »
- « Propel Erase All Data »
N.B. ce n’est pas exactement la procédure préconsiée par MySQLWorkbench pour l’installation d’un plugin. Le fait que PropelUtility soit découpé en plusieurs fichiers oblige à copier l’arborescence du projet dans le répertoire « modules » manuellement avant l’installation dans MySQLWrokbench.
utilisation
Toutes les modifications effectuées sur les informations Propel avec PropelUtility ne seront validées qu’après un clique sur le bouton OK.
En cas de clique sur CANCEL, les modifications seront perdues.
Pour enregistrer définitivement les modifications des informations Propel il ne faut pas oublier d’enregistrer le document .mwb lui même
Il y a trois types de champs:
- Les champs non modifiables : ils ont un caractère informatif et peuvent être modifiés directement via MySQLWorkbench, mais pas via PropelUtility
- Les champs modifiables : en cliquant une fois sur l’un de ses champs il est possible de modifier sa valeur par une saisie clavier
- Les champs modifiables avec liste de choix : non seulement en cliquant une fois sur l’un de ses champs il est possible de modifier sa valeur par une saisie clavier, mais il est également possible de faire apparaitre une liste de choix en double cliquant. Il suffit alors de choisir une valeur et ensuite de cliquer sur le bouton « select this value ».
N.B. Les listes de choix ne sont pas disponibles sous linux. (l’objet mforms.TreeView permettant de gérer des tableaux ne supportent pas nativement les listes de choix et l’astuce permettant de les déclencher au double clique semblent ne fonctionner que sous Windows :/)
onglets
- Database permet de gérer les attributs de la balise xml <database />
- Tables permet de gérer les attributs de la balise xml <table />
- Columns permet de gérer les attributs de la balise xml <column />
- Foreign Keys permet de gérer les attributs de la balise xml <foreign-key />
- Indices permet de gérer les attributs des balises xml <index /> et <unique/>
- Behaviors permet de gérer les Behaviors associés chaque table (balsie <behavior />) ainsi que leurs paramètres (balise <parameter />)
- Export permet d’exporter les données manipulées via les onglets sus-citées selon la logique suivante: les attributs obligatoires sont systématiquement exportés, alors que seuls les attributs optionnels possédant une valeur différente de leur valeur par défaut le sont.
personnalisation
Vous pouvez choisir les champs affichés, ou modifier l’ordre d’affichage, ou encore modifier la taille des colonnes des champs pour chaque onglet en allant modifier la liste « fields_list » de la classe associée à l’onglet (PropelTabDatabase.py pour l’onglet Database par exemple)
De la même manière il est possible d’ajouter ses propres behaviors en complétant les listes PropelBehavior.behaviors et PropelBehavior.fields['name']['items']
Propel Erase all data
Cette entrée permet de réintialiser toutes les données Propel gérées par PropelUtility et seulement celles ci (les informations géres par MySQLWOrkbench ne seront pas affectées)
TODO
- ajouter une possibilité d’export individuel pour chaque indice (<index /> ou <unique />)
- ajouter le support pour la « single inheritance »
- ajouter un onglet « Settings » pour chosir les colonnes à afficher dans chaque onglet
ajouter un onglet « Import » pour créer un schéma MySQLWorkbench (fichier *.mwb) à partir d’un schema.xml Propel existantinutile avec les fonctionnalités d’importation d’un schéma de base de données à partir d’un base MySQL existante
En premier lieu il vous faudra disposer d’un cygwin (éventuellement portable ) sur votre machine, avec le package ruby (1.8) installé.
installer rubyGem est assez simple
- télécharger le tarball RubyGems à partir Ruby Forge
wget <a href="http://rubyforge.org/projects/rubygems/">http://rubyforge.org/frs/download.php/74445/rubygems-1.6.2.tgz </a>à remplacer par le numéro de la version courant bien entendu
- décompresser le tarball
tar -xvf rubygems-1.6.2.tgz
- naviguer jusqu’à l’archive décompressée
cd rubygems-*
- exécuter cette commande pour installer RubyGem
ruby setup.rb install
- Et celle ci pour mettre à jour
gem update --system
Capifony s’installe donc maintenant simplement via la commande gem qui va gérer les dépendances et donc installer automatiquement Capistrano. Il suffit d’exécuter la commande
il est tant de configurer la capifonycation de notre projet, donc après avoir navigué jusqu’à la racine du projet exécuter la commande:
qui crée un fichier Capfile à la racine du projet et un fichier deploy.rb dans le répertoire config du projet. voici le mien agrémenté de quelques commentaires
set :domain, "mygit.org"
set :deploy_to, "/var/www/virtual/myapp.org"
set :shared_children, %w(log htdocs/uploads) #par défaut ispcp alias le répertoire htdocs (et non web)
set :use_sudo, true #obligatoire pour l'hébergement ispcp car le user de déploiement n'a pas à priori les droits d'écriture sur le répertoire associé au domaine ou sous domaine
set :group_writable, false
set :git_enable_submodules, 1
set :repository, "git://git.cerdi.org/registration/health_registration.git"
set :scm, :git
role :web, domain # Your HTTP server, Apache/etc
role :app, domain # This may be the same as your `Web` server
role :db, domain, :primary => true # This is where Rails migrations will run
set :keep_releases, 3
ssh_options[:forward_agent] = true
Je précise également que l’utilisateur est authentifié par clé RSA. Ce qui m’évite de saisir
Attendu que l’utilisateur utilisé (authentifié par clé RSA) pour le déploiement n’est pas l’utilisateur qui possède les répertoires, j’ai opté pour un utilisateur sudoer, seulement l’option use_sudo n’a pas suffit et j’ai du reprendre les commandes suivantes, à la suite de deploy.rb, en partant du code trouver /usr/lib/ruby/gems/1.8/gems/capifony-0.4.3/lib/capifony.rb (première fois que je voyais du ruby -_-’).
task :setup, :except => { :no_release => true } do
dirs = [deploy_to, releases_path, shared_path]
dirs += shared_children.map { |d| File.join(shared_path, d) }
run "#{try_sudo} mkdir -p #{dirs.join(' ')} && #{try_sudo} chmod g+w #{dirs.join(' ')}"
#add for case where deploy user is not owner
dirs = [releases_path, shared_path]
run "#{try_sudo} chown -R #{user_deploy}:#{group_deploy} #{dirs.join(' ')}"
end
task :symlink, :except => { :no_release => true } do
on_rollback do
if previous_release
run "#{try_sudo} rm -f #{current_path}; #{try_sudo} ln -s #{previous_release} #{current_path}; true"
else
logger.important "no previous release to rollback to, rollback of symlink skipped"
end
end
run "#{try_sudo} rm -f #{current_path} && #{try_sudo} ln -s #{latest_release} #{current_path}"
end
task :start do
run "[ -d #{deploy_to}/htdocs ] && #{try_sudo} rm -rf #{deploy_to}/htdocs || true"
run "[ ! -f #{deploy_to}/htdocs ] && #{try_sudo} ln -s #{current_path}/htdocs #{deploy_to}/htdocs || true"
run "[ ! -f #{deploy_to}/symfony ] && #{try_sudo} ln -s #{current_path}/symfony #{deploy_to}/symfony || true"
dirs = [releases_path, shared_path]
run "#{try_sudo} chown -R #{user_deploy}:#{group_deploy} #{dirs.join(' ')}"
run "#{try_sudo} chmod -R g+w #{dirs.join(' ')}"
run "#{try_sudo} chown -h #{user_deploy}:#{group_deploy} #{current_path} #{deploy_to}/htdocs"
end
task :share_childs do
if shared_children
shared_children.each do |link|
run "mkdir -p #{shared_path}/#{link}"
run "#{try_sudo} chmod -R g+w #{shared_path}/#{link}"
run "if [ -d #{release_path}/#{link} ] ; then rm -rf #{release_path}/#{link}; fi"
run "ln -nfs #{shared_path}/#{link} #{release_path}/#{link}"
end
end
if shared_files
shared_files.each do |link|
link_dir = File.dirname("#{shared_path}/#{link}")
run "mkdir -p #{link_dir}"
run "#{try_sudo} chmod -R g+w #{link_dir}"
run "touch #{shared_path}/#{link}"
run "ln -nfs #{shared_path}/#{link} #{release_path}/#{link}"
end
end
end
end
Si ce n’est pas déjà fait, faites gérer votre projet par git
pour ne faire gérer que le nécessaire par git éditer .gitignore
web/uploads/*
cache/*
plugins/.*
log/*
config/databases.yml
mkmf.log
.rsync*
backups/*
pour intégrer symfony en tant que librairie externe il vous faudra supprimer le répertoire lib/vendor/symfony s’il existe ou crééer lib/vendor s’il n’existe pas
ensuite il suffit de déclarer la librairie symfony comme un sous modules au niveau de git, et faire de même pour tous les plugins qui sont verisonnés avec git
git submodule add https://github.com/rande/swFunctionalTestGenerationPlugin.git plugins/swFunctionalTestGenerationPlugin
ce qui a pour conséquence de créer un fichier .gitmodules contenant
path = lib/vendor/symfony
url = http://github.com/vjousse/symfony-1.4.git
[submodule "plugins/swFunctionalTestGenerationPlugin"]
path = plugins/swFunctionalTestGenerationPlugin
url = https://github.com/rande/swFunctionalTestGenerationPlugin.git
il s’agit ensuite de committer le projet , sur un serveur distant
git commit -a -m 'commit entire project' #commit en local
git remote add origin git@git.cerdi.org:registration/health_registration.git #défini un serveur git distant
git push origin master #répercutre le modifs sur le serveur git distant
maintenant que notre projet est gité avec ces sous modules, il ne reste qu’à
lancer la commande suivante pour finir de configurer le déploiement
lancer la commande suivante pour le premier déploiement
lancer la commande suivante pour les suivants
Tout d’abord il faut activer ssl sur votre serveur et générer vos certificats ssl (à moins que vous en ayez déjà).
Le how to officiel d’ispcp How to: SSL made easy est très bien fait et vous apprendra en premier lieu comment sécuriser votre control panel.
Ayant un peu plus cherché pour mettre la même chose en place avec un sous domaine géré par ispcp, je me permets de relayer la solution (en allemand) que j’ai trouvé dans un forum.
le but est de créer un virtual host sub.domain.tld accessible en ssl (sachant que le virtual host est simplement créé avec ispcp)
il faut d’abord créer vhost en écoute sur le port 443 en éditant
et en y ajoutant
SSLEngine On
SSLCertificateFile /etc/ssl/certs/domain.tld.crt
SSLCertificateKeyFile /etc/ssl/certs/domain.tld.key
SSLProtocol All -SSLv2
SSLCipherSuite ALL:!EXP:!NULL:!ADH:!LOW
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown
<IfModule suexec_module>
SuexecUserGroup vu2001 vu2001
</IfModule>
ServerAdmin webmestre.cerdi@u-clermont1.fr
DocumentRoot /var/www/virtual/domain.tld/sub/htdocs
ServerName pssi.domain.tld
Alias /errors /var/www/virtual/domain.tld/errors/
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
ErrorLog /var/log/apache2/ssl_error_log
CustomLog /var/log/apache2/ssl_request_log ssl_combined
# httpd sub entry cgi support BEGIN.
ScriptAlias /cgi-bin/ /var/www/virtual/domain.tld/sub/cgi-bin/
<Directory /var/www/virtual/domain.tld/sub/cgi-bin>
AllowOverride AuthConfig
#Options ExecCGI
Order allow,deny
Allow from all
</Directory>
# httpd sub entry cgi support END.
<Directory /var/www/virtual/domain.tld/sub/htdocs>
# httpd sub entry PHP support BEGIN.
# httpd sub entry PHP support END.
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# httpd sub entry PHP2 support BEGIN.
<IfModule mod_php5.c>
php_admin_value open_basedir "/var/www/virtual/domain.tld/:/var/www/virtual/domain.tld/phptmp/:/usr/share/php/"
php_admin_value upload_tmp_dir "/var/www/virtual/domain.tld/phptmp/"
php_admin_value session.save_path "/var/www/virtual/domain.tld/phptmp/"
php_admin_value sendmail_path '/usr/sbin/sendmail -f vu2001 -t -i'
</IfModule>
<IfModule mod_fastcgi.c>
ScriptAlias /php5/ /var/www/fcgi/domain.tld/
<Directory "/var/www/fcgi/domain.tld">
AllowOverride None
Options +ExecCGI -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
<IfModule mod_fcgid.c>
Include /etc/apache2/mods-available/fcgid_ispcp.conf
<Directory /var/www/virtual/domain.tld/sub/htdocs>
FCGIWrapper /var/www/fcgi/domain.tld/php5-fcgi-starter .php
Options +ExecCGI
</Directory>
<Directory "/var/www/fcgi/domain.tld">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
# httpd sub entry PHP2 support END.
</VirtualHost>
activer le virtual host
et recharger la configuration d’apache
reste à interdire l’utilisation du http non sécurisé, ce qui revient à forcer le https via un règle de rewriting qui peut par exemple être mise dans un .htaccess à la racine du sous domaine
et ajouter quelque chose du genre
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://sub.domain.tld/$1 [R,L]
</IfModule>>
Tout est dans le titre je crois. Je suis parti de ce billet http://notepad.patheticcockroach.com/628/adding-postgresql-portable-to-xampp-on-windows/et je vous livre ce qui a fonctionné pour moi. J’ai déjà expliqué sur ce blog comment installer une plateforme xampp portable sous windows.
Le prérequis est donc d’en avoir une fonctionnelle pour la suite
Tout d’abord il vous faudra une version portable de postrgre, que vous trouverez sur http://www.postgresql.org/download/windows. En tant qu’« Advanced user » vous téléchagerez l’ archive zip sans l’installeur (la version portable quoi). J’ai opté pour la 9.0.3-1 qui semble être la stable du moment.
Une fois l’archive décompressée, copier / coller le répertoire pgsql qu’elle contient dans Z:/MyApps/xampp/.
La première des choses à faire est ensuite de créer un cluster en tapant
Les fichiers de ce cluster appartiendront à l'utilisateur « mazenovi».
Le processus serveur doit également lui appartenir.
Le cluster sera initialisé avec la locale French_France.1252.
L'encodage par défaut des bases de données a été configuré en conséquence
avec WIN1252.
La configuration de la recherche plein texte a été initialisée à « french ».
correction des droits sur le répertoire existant ../data... ok
création des sous-répertoires... ok
sélection de la valeur par défaut de max_connections... 100
sélection des valeurs par défaut de shared_buffers/max_fsm_pages... 32MB/204800
création des fichiers de configuration... ok
création de la base de données template1 dans ../data/base/1... ok
initialisation de pg_authid... ok
initialisation des dépendances... ok
création des vues système... ok
chargement de la description des objets système... ok
création des conversions... ok
création des dictionnaires... ok
initialisation des droits sur les objets internes... ok
création du schéma d'informations... ok
lancement du vacuum sur la base de données template1... ok
copie de template1 vers template0... ok
copie de template1 vers postgres... ok
ATTENTION : active l'authentification « trust » pour les connexions
locales.
Vous pouvez modifier ceci en éditant pg_hba.conf ou en utilisant l'option -A
au prochain lancement d'initdb.
Succès. Vous pouvez maintenant lancer le serveur de bases de données par :
"postgres" -D "../data"
ou
"pg_ctl" -D "../data" -l journal_applicatif start
N.B. le cluster appartient à l’utilisateur système avec lequel il est créé c’est important pour la suite!
pour lancer le serveur
"pg_ctl" -D "../data" -l journal_applicatif start
vous pouvez déjà jouer avec pgAdmin3 en entrant l’adresse de votre serveur (127.0.01 ou localhost) et le login mot de passe de l’utilisateur que vous avez utilisez pour créer le cluster. Mais il s’agit ici de faire fonctionner postgreSQL avec php. On va donc décommenter deux extensions dans le Z:\MyApps\xampp\php\php.ini
extension=php_pgsql.dll
; abstraction layer for PDO
extension=php_pdo_pgsql.dll
Mais là vous risquez d’être victime de message d’erreur car PostgreSQl a besoin de quelques dll pour fonctionner sous windows. Afin de garder l’installation portable il faut ajouter \MyApps\xampp\pgsql\bin au path, car ce répertoire contient les dll nécessaires (et évite du coup d’avoir à les copier dans c:\windows\system32).
Afin de tester que postgreSQL fonctionne bien avec php je vous propose d’installer phpPgAdmin en le téléchargeant sur le site officiel http://phppgadmin.sourceforge.net/ puis en le décompressant dans Z:/MyApps/xampp/phpPgAdmin/
Afin de le rendre visible ajouter dans Z:\MyApps\xampp\apache\conf\extra\httpd-xampp.conf
<Directory "Z:/MyApps/xampp/phpPgAdmin">
AllowOverride AuthConfig
</Directory>
et modifier
Order deny,allow
Deny from all
Allow from 127.0.0.0/8
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
</LocationMatch>
éditer également selon vos besoins le fichier de configuration de phpPgAdmin Z:\MyApps\xampp\phpPgAdmin\conf\config.inc.php
ouvrez maintenant http://localhost/phppgadmin dans votre navigateur et saisissez les login mot de passe de l’utilisateur associé au cluster
A vous postgreSQL
Pourquoi crypter?
C’est sûr on ne balade pas tous des dossiers classés secrets défense dans nos ordinateurs portables. Mais si on prend deux secondes pour y réfléchir, perdre ou se faire voler une machine peut vite se révéler fort ennuyeux.
Les mots de passe sauvegardés pour la Messagerie, pour les instant messengers (MSN, Gtalk), dans la saisie semi automatique du navigateurs (facebook, twitter, webmail etc ..), sont autant de petits gains de temps apparemment anodins qui deviendront tout à coup de véritables vulnérabilités pouvant mettre en péril l’intégrité de votre identité numérique. Quiconque trouve ou vole votre machine, peut (à minima) se faire passer pour vous tant que vous n’avez pas changé les mots de passe de tous les sevrices que vous utilisez … si tant est que vous puissiez le faire avant le voleur …
Le b-a-ba est alors de protéger sa session par mot de passe … ce qui est bien mais pas top, dans la mesure ou un système quel qu’il soit, dès qu’on peut y accéder physiquement – ce que l’heureux trouveur et /ou le vilain voleur sont a priori en mesure de faire – est tout à fait vulnérable. C’est à dire que toutes les données sur le disque de votre ordinateur sont accessibles simplement même si la session est protégée par mot de passe: il suffit d’accéder à ce disque à partir d’un autre système en le branchant directement à la carte mère ou via une coque USB. Ce qui est donc à la portée de n’importe qui!!
C’est là que le cryptage fait sens. En effet ce dernier permettra de rendre toutes vos données inaccessibles tant que le mot de passe qui permet de voir les données en claire n’a pas été saisi, et ce qu’on accède au disque d’une autre machine ou non.
Crypter quoi?
Je viens d’évoquer le cas de l’ordinateur portable qui est le cas typique d’utilisation nomade, mais les mêmes considérations s’appliquent aux suite d’applications portables (FramaKey, liberKey, portableapps) qui peuvent être utilisée sur clé ou disque dur USB.
Il faut donc considérer le cryptage des disques systèmes, aussi bien que le cryptage des disques ou parties de disques des périphériques de stockage externes.
Ca tombe bien TrueCrypt gère tout ces cas de figure
Comment crypter?
Sous windows il y a des solutions natives comme bitlocker, mais elles n’ont pas eu que des bons échos. Selon les constructeurs il y a aussi des possibilités plus « hard », des disques durs auto chiffrant par exemple (à noter qu’il existe la même chose pour les clés USB). Et puis sous linux il existe LVM (un autre tuto ici). Je n’ai pas vraiment creusé pour trouver quelque chose sous MAC, si vous avez des suggestions les commentaires sont ouverts …
La solution que propose TrueCrypt existe sur ces 3 OS. Outre le fait que vous pourrez suivre la même procédure pour chacune de vos machines quelque soit son OS, vous allez aussi pouvoir crypter vos disques durs portables et autres clés USB et les utiliser sur n’importe quel OS.
Crypter son disque système Windows est une opération relativement simple. Officiellement True Crypt ne permet pas de réaliser cette opération sous linux. Plus chagrinant le dual boot windows / linux sur un même disque n’est pas supporté et empêche du coup de crypter la partition windows.
J’utilise surtout TrueCrypt pour ma suite d’application portable LiberKey qui est pour moi de plus en plus cruciale. Voulant profiter au maximum du caractère portable de TrueCrypt j’ai choisi d’opter pour le fichier crypté plutôt que pour la partition cryptée, et je pense que cette option est la plus ergonomique pour les médias portables. En effet Si TrueCrypt est à installer au niveau de l’OS sous linux ou sous mac os, il existe une version portable pour windows! Il est donc possible de se déplacer avec TrueCrypt sur le disque contenant le fichier crypté et d’y accéder même sur une machine où TrueCrypt n’est pas installé … et où éventuellement on ne dispose pas des permissions suffisantes pour réaliser cette opération
L’idée est donc de créer un fichier crypté qui tient presque toute la place sur le disque (ici DataMaze)
et d’entreposer le nécessaire portable de TrueCrypt dans un répertoire à côté
Il ne reste ensuite plus qu’à batcher le montage (sur le lecteur Z dans notre cas) de la clé mount.bat
TrueCrypt\TrueCrypt /v DataMaze /l Z /m rm /auto /q
et le démontage unmount.bat
L’un des inconvénients majeur de cette méthode est qu’il est possible d’effacer le fichier crypté sans avoir d’autorisation spéciale :’(
Les perfs
Le cryptage est long quoiqu’il arrive: compter 100Go à l’heure.
En revanche les performances système ne sont quasi pas altérées au niveau de l’utilisation des disques ou fichiers crypter. J’ai fait un petit test sur un disque de 500Go avec CrystalDiskMark
Avant
CrystalDiskMark 3.0.1 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 31.724 MB/s
Sequential Write : 26.235 MB/s
Random Read 512KB : 19.922 MB/s
Random Write 512KB : 25.046 MB/s
Random Read 4KB (QD=1) : 0.436 MB/s [ 106.5 IOPS]
Random Write 4KB (QD=1) : 0.602 MB/s [ 147.1 IOPS]
Random Read 4KB (QD=32) : 0.460 MB/s [ 112.4 IOPS]
Random Write 4KB (QD=32) : 0.620 MB/s [ 151.4 IOPS]
Test : 1000 MB [D: 0.1% (0.7/465.8 GB)] (x5)
Date : 2011/02/22 14:52:21
OS : Windows 7 [6.1 Build 7600] (x86)
Après
CrystalDiskMark 3.0.1 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 35.005 MB/s
Sequential Write : 26.591 MB/s
Random Read 512KB : 14.992 MB/s
Random Write 512KB : 21.508 MB/s
Random Read 4KB (QD=1) : 0.374 MB/s [ 91.3 IOPS]
Random Write 4KB (QD=1) : 0.626 MB/s [ 152.9 IOPS]
Random Read 4KB (QD=32) : 0.423 MB/s [ 103.4 IOPS]
Random Write 4KB (QD=32) : 0.662 MB/s [ 161.7 IOPS]
Test : 1000 MB [Z: 0.5% (2.4/463.9 GB)] (x5)
Date : 2011/02/23 15:40:31
OS : Windows 7 [6.1 Build 7600] (x86)
Mot de passe vs Keyfile
Il y a deux systèmes d’authentification: Le système par mot de passe classique et le système d’authentification par fichier. Le second implique que vous ayez toujours le fichier d’authentification sous la main (et tant qu’à faire pas sur le disque qui contient le conteneur crypté )). Les deux systèmes sont combinables.
Notez qu’il n’y a pas de système de récupération de mot de passe, ni de re-génération de fichier d’authentification …
Mot de passe oublié = données perdues. Ce qui est finalement assez rassurant, si on y réfléchit bien!
Le mode parano?
Il est possible de mettre en place un conteneur caché, pour prévenir le cas où on est forcé (ambiance couteau sous la gorge) de donner son mot de passe. Le principe est assez simple, on appelle ça le déni plausible: au lieu de créer une partition cryptée TrueCrypt en créera deux, l’une dans l’autre. L’une qui fera office de leurre, alors que l’autre contiendra effectivement les données confidentielles. L’idée est que même si le mot de passe de la partition leurre est révélé il ne permet d’accéder qu’à cette partition, et il est alors impossible de prouver qu’il existe une deuxième partition cryptée (celle qui contient les données confidentielles) dans la première.
le déni plausible peut être mis en oeuvre, pour un fichier crypté, une partition et même un système tout entier.
plusieurs réflexions tout de même :
- vous perdez un peu de place
- ca fait un deuxième mot de passe à retenir (et à bien mémoriser parce qu’il faudra le sortir naturellement au moment où on vous braque un kalashnikov sur la tempe)
- si vous avez mis le déni plausible en place il y a un certain temps et que vous n’avez pas touché à la partition « fake » depuis, votre agresseur, s’il sait ce qu’il cherche et s’il sait regarder la date de dernière modification d’un fichier, aura vite fait de s’apercevoir que vous le prenez pour un lapin de 6 semaines …
Tout récemment Korben relayait le moyen de cacher un conteneur truecrypt dans des fichiers vidéo, ce qui me paraît beaucoup moins pratique à utiliser, mais beaucoup plus crédible en terme de camouflage
Conclusion
Si vous lisez ces lignes et que vous vous dites que vous n’avez rien à cacher et que chiffrer son disque ce n’est bon que pour Julian Assange, c’est que j’ai doublement perdu mon temps:
1 – il n’y a pas que les données confidentielles qui nécessitent un cryptage, mais tout flux de données vous concernant peut potentiellement être utilisé contre vous et / ou à votre insu. Ce qui implique que le cryptage de données devrait être une pratique tout à fait commune dans une société du tout numérique … il n’y a qu’à lire les mésaventures du dragueur trahi par sa clef USB pour s’en persuader
2 – C’est que vous pensez que crypter un système d’exploitation ou un périphérique externe de stockage est compliqué, ce qui est tout à fait faux, dans la mesure où TrueCrypt s’occupe de tout et qu’il existe de nombreuses ressources pour toute sorte de cas pratiques
Liens complémentaires
symfony en couleur
Les utilisateurs windows ont longtemps été privés des couleurs qu’affichent la sortie de la commande symfony. Mais depuis symfony 1.3/1.4 les choses se sont beaucoup améliorées.
C’est le jour où j’ai voulu tester les tests, que le besoin de couleur c’est vraiment fait ressentir: j’ai d’abord perdu pas mal de temps à essayer d’activer ansi.sys sur mon windows 7 …
sans succés!
La solution je l’ai trouvé chez Jonathan Nieto : Colorize your Windows console life with symfony (et aussi grâce à @couac) et elle s’appelle ANSICON il suffit donc de
- télécharger le zip
- dézipper
- copier / coller les fichiers ansi.dll et ansicon.exe dans c:\windows \system32
- taper ansicon -i dans un prompt de commande
N.B. vous devez rouvrir une autre fenêtre MS-DOS pour que la couleur soit
N.B2. si comme moi vous disposez d’un environnement de développement portable xampp ou UwAmp, cette manipulation est à faire sur chacun des postes que vous utilisez.
Ca marche aussi bien dans une bête commande MS-DOS que dans un cygwin, sans avoir à utiliser l’option –force de la commande symfony, du coup j’ai tenté
cygwin portable
J’avais déjà joué un peu à modifier le path au lancement de la console, lors de l’installation portable de Git afin de changer éventuellement d’intrerpréteur en ligne de commande PHP lors d’une même session par exemple. Mais ayant un bout de commande cwrsync par là, un bout d’install git par ailleurs, je me suis itéressé à cygwin et à son potentiel portable, afin de tout unifier.
- J’ai en fait installé cygwin sur mon disque dur usb (dans z:\MyApps\cygwin), mais la démarche est la même en partant d’un cygwin portable (pas super à jour :/) comme l’explique ce post
- J’ai ensuite créé un home dir dans z:\MyApps\cygwin\home\mazenovi qui me permet de rendre mes préférences (.ssh, .bashrc) portables elles aussi.
- Enfin j’ai simplement modifié le batch de lancement Cygwin.bat en CygwinPortable.bat comme suit
chdir \MyApps\Cygwin\bin
set path=%WD%\cygwin\bin;%WD%\cygwin\usr\X11R6\bin;\MyApps\xampp\php;\MyApps\xampp\mysql\bin;%path%
set SHELL=/bin/bash
set HOME=/home/mazenovi
set DISPLAY=:0
bash --login -i
L’idée est simplement d’enlever les lettres de lecteur pour avoir des path partant de la racine de la clé, et de rajouter quelques variables d’environnement (ici le path vers le php et le mysql de mon installation xampp portable). Une fois fait il suffit d’installer les commandes dont vous avez besoin (git et rsync dans mon cas) via cygwin en relançant le setup.exe (si vous êtes partis de la version portable de cycgwin n’oubliez pas de remplacer cygwinsetup.exe par un setup.exe à jour).
Pour finir j’ai ensuite créé un onglet dans console2 une petite console libre, permettant entre autre d’utiliser la font consolas et de gérer la transparence de votre ligne de commande
de quoi réconcilier les windoziens avec la ligne de commande :p
Sale Geek kro$oft!
Vous me traiterez sans doute de sale bricolo car j’utilise des installations Apache MySQL PHP windows (xampp ou UwAmp) à l’intèrieur d’un Cygwin qui est un pseudo Unix. Ce à quoi je répondrai, « c’est vrai! c’est un mélange des genres! », mais grâce à UwAmp par exemple, je peux utiliser des versions de PHP différentes simplement en ouvrant un nouvel onglet dans ma console …
<troll>Et puis j’ai déjà vu des système Unix like (à base de BSD par exemple) largement aussi fermé qu’un windows</troll>
Avec le nouveau décret d’application de la LCEN on peut se demander en quoi le mot de passe peut servir à l’identification?
L’idée est assez vicieuse mais valide en pratique: si vous voulez garder l’anonymat vous penserez en premier lieu à vous créer un compte bidon avec un identifiant bidon du genre papillon63 et pour ne pas vous surcharger les neurones vous mettrez votre mot de passe habituel: gro$$3cr3t. Si on a des soupçons sur le fait que mazenovi est papillon 63 (et que papillon63 est recherché pour cybercrime contre la cyber humanité), il est évident que le fait que ces deux comptes aient le même mot de passe où le même hash de mot de passe, va alourdir le dossier.
N.B. Comme le rappelait Korben la plus part des mot de passe sont stockés hachés, ce qui signifie qu’on ne peut pas connaitre le mot de passe original, mais qu’on peut comparer la signature (le hash) de deux mots de passe, dans la mesure où une chaîne de caractère hachée avec la même fonction de hachage donne toujours la même signature …
Bref il est temps d’arrêter le mot de passe unique qui ouvre les portes de tous ses comptes, qu’on ne révèlera jamais à personne même sous la torture, et d’utiliser un gestionnaire de mots de passe digne de ce nom.
KeePass
KeePass va vous permettre de centraliser vos mots de passe et d’y accéder via un mot de passe unique. Bien entendu on pourra discuter le caractère sécuritaire de cette approche qui n’est valable que tant que le mot de passe principal n’est pas violé.
Si le mot de passe général est deviné là c’est la vraie catastrophe puisque TOUS vos mots de passe deviennent accessibles. Notez bien que ce mot de passe n’est stocké en clair nulle part et qu’il est haché via SHA-256 réputé inviolé à ce jour.
Une autre méthode d’ouverture, plus sécurisée, de la base de données de mot de passe, est l’ouverture par fichier. vous devez avoir le fichier pour ouvrir la base, ce fichier est alors bien entendu confidentiel.
Encore plus sécurisé mais plus risqué mot de passe et fichier peuvent être combinés.
D’un point de vue pratique KeePass crypte le fichier complet de mot de passe (.kdb) et pas seulement les mots de passe, via Only Rijndael (AES) ou Twofish. Tous les mots de passes manipulés sont également cryptés en mémoire.
KeePass est portable (<3) et est disponible sur la LiberKey. J’en fait la promotion sous cette forme car il est l’auto type est automatiquement configurer avec le FireFox portable de la LiberKey ce qui permt de réduire les traces laissées sur la machine hôte.
Autrement dit
- ouvrez la page d’authentification à la quelle vous voulez vous connecter
- Placer le curseur dans le champs du username
- Faites un clic droit sur le compte associé dans KeePass, cliquez sur « saisie semi automatique »
- laissez Keepass faire le reste …
Pour plus de sécurité KeePass permet de générer des mots de passe de complexité variable.
Plus besoin de les retenir maintenant puisqu’ils sont gérés de manière centralisée …
Voilà il sera dorénavant difficile de vous confondre avec deux mots de passe identiques
Git est un système de gestion de versions qui s’est répandu dans le monde du développement comme une traînée de poudre il y a quelques temps; surtout depuis que plusieurs projets majeurs, dont Symfony 2 sont passés de svn à git.
Le propos de cet article est d’installer git de manière portable et intégrée à Console 2 qui est mon prompt de commande préféré, et de voir les quelques commandes de bases
Installation
msysgit propose une version portable de git. Une fois décompressée dans votre suite d’applications portables préférées, vous pouvez avoir accès à Git en ligne de commande en lançant git-cmd.bat ou mieux git-bash.cmd, qui vous donne accès à un bash UNIX minimal (c’est à dire limité à quelques commandes) dans votre windows
Il n’y a absolument rien de sorcier là dedans, mais notez tout de même que pour changer de répertoire vous ne devez utiliser que des / et non pas des \, et faire référence à la lettre du lecteur de disque comme suit
C’est un peu comme du cygwin, mais visiblement ça n’en est pas!
Console2
Ce qui est sympa c’est d’intégrer l’environnement ligne de commande Git en tant qu’onglet de Console2.
Console2 est un prompt de commande souple, personnalisable (police, couleur, transparence, etc …) et complètement portable.
Vous pouvez ajouter des onglets prédéfinis dans « Edit » -> « Settings »
Vous devez spécifier le chemin vers le batch permettant d’accéder à git en ligne de comande (git-bash.bat).
Vous pouvez également spécifier un répertoire par défaut dans lequel sera positionné votre prompt.
Il suffit ensuite de bien penser à mettre des paths relatifs ou absolus, mais dans ce dernier cas sans spécifier la lettre du lecteur pour que la configuration reste elle aussi portable.
Ensuite le git-bash peut se lancer dans Console2 en ouvrant un nouvel onglet
Notez bien que nous n’avons pas touché aux variables d’environnement du système, et que pour autant la commande git est accessible de partout … le path système est en fait modifié directement par le script git-bash.bat
Test sur github
github est un site d’hébergement et de gestion de développement de logiciels utilisant git et choisi par beaucoup de projets open source.
Avec git-bash
générer et configurer une clé RSA
Dans un onglet git bash (que vous venez de créer) tapez
Laissez tous les choix par défaut (appuyez deux fois sur entrée)
Vous obtenez deux fichiers (mazenovi est bien sûr à remplacer par votre nom d’utilisateur) :
est votre clé privée, et elle est au bon endroit et
est votre clé publique que vous devez saisir dans la section Account settings -> SSH Public Keys.
Vous pouvez ensuite configurer votre nom & mail (à remplacer par les votre)
git config --global user.email vmazenod@mail.com
de manière générale la conf de git est stockée dans
Tout est alors prêt pour créer votre …
Premier repository
il vous faudra tout d’abord créer un nouveau dépôt (« ckMedia » dans mon cas) sur github
créer le dépôt sur votre machine local, qui n’est rien de plus qu’un répertoire géré par git, en tapant toujours dans l’onglet onglet git bash
cd ckMedia
le faire gérer par git
le modifier (créer un simple fichier vide README par exemple)
ne plus faire gérer un fichier par git (les modifications apportées au fichier ne sont plus prises en compte par git)
annuler les modifications (revenir à la denière verison)
ajouter la modification au prochain commit (prochaine mise à jour du repostory sur github)
supprimer le fichier du prochain commit
faire un commit (valider les changements sur le repository local)
N.B. le commentaire est obligatoire, si vous oubliez l’option -m l’éditeur de texte par défaut est lancé
Pour faire un commit sur tous les fichiers modifiés et gérés par git vous pouvez utiliser l’option -a. Les fichiers supprimés dans le projet seront supprimés (git rm) du dépôt
Pour faire afficher ce qui est à « commiter », c’est à dire ce qui a déjà fait l’objet d’un add, et ce qui a été simplement modifié, c’est à dire qui est géré mais n’a pas fait l’objet d’un add:
on appelle cet état transitoire entre le moment où le fichier est modifié et le commit le stage
Les schéma suivant résume les commandes que nous venons de voir
ajouter un raccourcis vers l’URL du dépot github. On le nomme ici origin
répercuter les changements sur le dépot cible
pour lister tous les commit
Pour la petite histoire
Le magazine PC World nous apprend que « quand on lui a demandé pourquoi il avait appelé son logiciel « git », qui est à peu près l’équivalent de « connard » en argot anglais, Linus Torvalds a répondu « je ne suis qu’un égocentrique, donc j’appelle tous mes projets d’après ma propre personne. D’abord Linux, puis Git. »
source : http://fr.wikipedia.org/wiki/Git
compélément
- pour plus de détails http://gitref.org/
- pour me trouver sur git http://github.com/mazenovi
- Git staging area http://www.gitready.com/beginner/2009/01/18/the-staging-area.html
- un petit guide en français: http://www.unixgarden.com/index.php/administration-systeme/git-it
- une documentation un peu plus exhaustive en français : http://www.alexgirard.com/git-book/
- un tuto en anglais: http://gitimmersion.com
L’expression d’une culture minorisée ne peut être modérée
La familha Artús c’est de la musique qui reste à inventer. Des racines aussi profondes que celles qui enchainent les soeurs goadec à la Bretagne et aussi tortueuses que celles qui poussent les frères cavalera des favelas vers les forêts d’Amazonie quand ils commettent Roots Bloody Roots. De la matière sonore qui sait d’où elle vient et où elle va. Des barils de goudron bourdonnant. Des esseins de bourdons goudronnés.
« Víver libre o se morir ! » comme on dit là bas en gascoonie
Du death metal de bigoudaine landaise?
Ce serait bien trop simple, et on serait bien trop content de pouvoir ranger la Familha Artús dans une petite case, taguée par un enchevêtrement alambiqué de genres. On pourrait ranger ça dans dans du trans-metal-core-acoutsic, ou de l’ethno-death-ambiant … on étalerait nos références musicales en y cherchant des paternités, des similitudes avec celui ci ou avec celle là.
On serait tenter … mais la Familha ne laisse aucune prise à ces discussions! dans sa présentation en forme de manifeste, la familha précise
« Drac (Dragon) est le nouvel opus de ce groupe hors norme, véritable décomposition sonore, brut et indomptable. Drac ne se sent pas concerné par le mouvement folk actuel déracinant ou par la world-showbiz-music acculturante. Il est sauvage, insoumis, militant, utopiste, il n’est pas prosélitique, il n’explique rien, ne se justifie pas, il agit. »
Des keupons de Gascoonie?
« Cette façon de faire dépasse l’aspect musical, c’est une façon d’être. »
Et c’est parce qu’ils sont sans conscession qu’ils se retrouvent naturellement au milieu des alternatifs qui durent, qui durent … vraiment plus longtemps.
C’est la FZM qui produit cet album! FZM aka Folklore de la Zone Modiale ce n’est rien d’autre que le label de feu les bérurier noir. La FZM a su garder le point levé pendant de longues années qui ont vu la disparission ou l’inhibition de pas mal de leurs cousins indépendants (Boucherie Prod, Bondage record …). La FZM c’est le bordel ethnico-culturel dans lequel la Familha évolue désormais aux cotés des Ramoneurs de menhirs, d’Ethnopaire , de CelluleX et des autres …
La familha fusionne également avec d’autres tailleurs de son – Francis Mounier et les niou bardophones – dans un projet nommé le choc des électrons libres
Forcément les démarches radicales, pour qu’elles fassent sens, se doivent d’être visibles et diffusées. Là encore la familha est résolument en phase avec ses valeurs et avec son temps puisque c’est sous licence creative commons by-nc-sa, qu’elle délivre dorénavant ses sons … avec des albums en écoute intégrale et des impros en téléchargement gratuit.
« nous jouons ce que nous sommes. »
Alors merci d’être ce que vous êtes
- site officiel : http://familha.artus.free.fr
- acheter Drac en Vinyl / CD / mp3 : http://www.pagansmusica.net/album/drac
- MySpace : http://www.myspace.com/familhaartus
- wikipedia : http://fr.wikipedia.org/wiki/Familha_Art%C3%BAs
- fan page : http://www.facebook.com/pages/familha-Artus/154776927763
- credits photos Nico Shapetwo : http://www.facebook.com/shape2
Nico ShapetwoNico Shapetwo
Petit rappel
Un Ubuntu portable c’est forcément un dérivé d’un Ubuntu live. Et un Ubuntu live c’est un système d’exploitation (de type GNU/Linux, distributionUbuntu) assez générique pour fonctionner sans soucis sur la plupart des machines, sans avoir à l’installer. En gros on boote sur le CD ROM et un Ubuntu se lance, prêt à l’utilisation (avec quelques restrictions majeures mais nous verrons cela plus tard), et surtout prêt à l’installation de GNU/Linux sur la machine hôte. Le support royal était historiquement le CD ROM, on parlait alors de live CD et maintenant que les clés USB font des tailles raisonnables et que la plupart des cartes mères sont capables de booter à partir d’un périphérique USB, on peut avantageusement remplacer le support optique par le périphérique de stockage USB … J’ai l’impression de parler comme une notification système des fois o_0′.
L’Ubuntu live c’est l’ultime fantasme du barbu libriste … Dans ses rêves les plus fous il réparerait le PC de sa voisine (blonde, à forte poitrine, en nuisette rose) infesté de virus, gavé d’erreur de base de registre, qui met 3 plombes à démarrer et crachote message d’erreur sur message d’erreur. Là le barbu arriverait, le sourire en coin, vêtu de son T-Shirt noir « scan my network and die » acheté sur http://thinkgeek.com et d’un geste assuré il rebooterait la machine malade, que sa propriétaire croit morte, avec une clé USB minuscule. Ubuntu se lancerait, le bureau s’afficherait et en quelques secondes la néophyte se repèrerait instantanément: « oh c’est comme dans windows! Y a firefox aussi. Et je peux relever mes mails? Je peux faire du MSN? je peux skyper? Je peux regarder des films? Ecouter deezer? Et Word? Et PowerPoint? … ». Et là le barbu la larme à l’oeil lui répondrait que oui elle pourra le faire. Finalement le barbu cliquerait sur l’icône installer unbuntu 10.10, un PC de plus de serait libéré, il irait se coucher le coeur léger avec le sentiment d’avoir participer à l’avènement du libre, cette longue mission d’évangélisation qui lui tient tant à coeur
casper le gentil fantôme
Bref Sans rentrer dans les détails (que j’ignore d’ailleurs), un Ubuntu live sur clé USB se confectionne uniquement sur une partition formater en FAT32. Un Ubuntu Live présente également un inconvénient majeur, en cela qu’il n’a pas de mémoire: tout ce que vous ferez comme personnalisations, installations de programmes ou mises à jour seront perdues à chaque redémarrage.
Comme le barbu est joueur il s’est dit que tant qu’à être sur un support supportant la ré-écriture (la clé USB si vous suivez) ça pourrait être sympa d’avoir un live « personnalisable », comme ça on pourrait faire un peu de facebook d’identica avec Gwibber ou relever ces mails avec thunderbird, sans avoir à tout renconfigurer à chaque fois …
Alors il a rajouté un petit fichier nommé casper-rw à côté des fichiers d’Ubuntu et a dit à l’Ubuntu live d’écrire tout ce qui était de l’ordre de la personnalisation ou de la vie du système (les mises à jour etc …) dans casper-rw. Ca commence à devenir vraiment intéressant car on peut songer à une nouvelle vie, portable, libre, sous GNU/Linux … hélas il reste encore un inconvénient majeur : le système de fichier Fat32 ne sait gérer que des fichiers dont la taille est inférieure à 4Gb. On ne pourra donc pas avoir plus de 4Gb de données de personnalisation /-) Autrement dit un petit « aptitude safe-upgrade » et vous avez rempli casper!
Et bien j’ai découvert une colossale ruse qui permet de contourner cette limitation sur pendrive
En fait il s’agit simplement de créer une partition ayant pour file system ext2 ou ext3 et pour label casper-rw. Et là vous lui donnez la taille que vous voulez, vous pourrez ainsi installer toutes les applications dont vous avez besoins!
Deux limitations au moins toutefois
- Pas de mise à jour du Kernel Linux
- Pas de gestion des utilisateurs (même pas possible de mettre un mot de passe à l’utilisateur live)
Pour ma part j’ai opté pour une partition de 30 Go sur un DD USB de 500Go. Il me reste plus de 450Go pour une suite d’appli portable du genre de la LiberKey ou FramaKey et mes données perso, je vous livre ma méthode à partir de windows 7 pour que vous puissiez le faire tout seul et que vous aussi vous finissiez enfin par choper votre voisine. En gros, pour ne pas avoir à graver un CD Live pour faire l’opération (comme c’est suggéré dans le tuto pendrive)
- créer un partition de 6Go FAT 32 avec diskmgmt.msc sous windows
- télécharger LiliUSB creator
- télécharger la dernière version d’Ubuntu
- installer et lancer LiliUSB creator
- LiliUSB creator Etape1 : Sélectionner la partition que vous venez de créer
- LiliUSB creator Etape2 : Sélectionner l’image iso d’Ubuntu que vous venez de télécharger
- LiliUSB creator Etape3 : régler la persistance à fond
- LiliUSB creator Etape4 :
- décochez « Cacher les fichiers sur la clé »
- cochez « Formater la clé en FAT32″
- cochez « Permettre de lancer LinuxLive directement sous windows (nécessite Internet) » pour avoir VirtualBox
- lancez VirtualBox.exe dans le dossier VirtualBox qui se trouve sur la partition où l’Ubuntu live a été installé
- augmentez un peu la RAM
- lancez la machine virtuelle
- une fois sous Ubuntu
- lancez Gparted
- créez un partition ext2 ou ext3 de la taille que vous souhaitez en lui donnant pour nom casper-rw
- appliquez les modifications
- éteignez la machine virtuelle
- renommez le fichier casper-rw sur la partition où l’ubuntu Live a été installé en casper-rw.old par exemple
- relancer la machine virtuelle avec Virtualize_This_Key.exe dans le dossier Virtual Box
- optionnel (mais bien pratique): installez les guest additions
Les screencasts ont été réalisés avec des logiciels libres et le montage avec virutalDub (libre lui aussi). Ils sont hébergés sur mon serveur donc soyez patients ou téléchargez directement les flv 1 et 2 pour les regarder offline.
Vous connaissiez dejà?
Ah ouai? depuis quand? je viens de découvrir ça dans la FAQ de Lili USB … alors soit c’est récent, soit j’étais passé à côté … Mais dans tous les cas c’est un outil supplémentair pour faire essayer Ubuntu au plus grand nombre sans toucher à leur machine dans un premier temps. Une fois convaincu y a plus qu’à cliquer pour libérer leur PC!!! #VLOM
Recent tracks
-
In Here (The Ill Way) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
From Here To Wherever (feat Fabe) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
In the Name Of Rhyme by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
No Time For Weakness by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
In Here (Refreshed) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
When I Flow (feat Jeru The Damaja) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
Vibes by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
Bag Of Chips (Remix) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
Reachin' (For My People) by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
-
Airplay? by {u'mbid': u'a14d6aa2-858d-4c5a-8562-edfea906a9f3', u'#text': u"Walkin' Large"}3 months ago
Top artists
Top tracks
-
13 plays
-
10 plays
-
8 plays
-
8 plays
-
7 plays
-
7 plays
-
7 plays
-
7 plays
-
7 plays
-
7 plays
-
7 plays
-
7 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
6 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
-
5 plays
Photos
Latest checkin
-
5 months ago in Clermont-Ferrand, Auvergne
Badges
Checkin history
-
5 months ago
-
11 months ago
-
11 months ago
-
11 months ago
-
11 months ago
-
@Electric Palace (rue Abbé de l'Epée)15 months ago
-
@Le ludik (21 rue Kessler)19 months ago
-
19 months ago
-
@Il Caffè di Parma (Centre Jaude)20 months ago
-
@Il Caffè di Parma (Centre Jaude)20 months ago
-
20 months ago
-
@CC IN2P3 (boulevard Niels Bohr)20 months ago
-
@The Still Irish Bar (7, bd Léon Malfreyt)21 months ago
-
22 months ago
-
22 months ago
-
22 months ago
-
@Décathlon (rue de l'Hermitage)22 months ago
-
22 months ago
-
22 months ago
aka mazenovi, aka voisin de gennetines #ispcp #php #symfony #social_networking #cornemuse