DoudouLinux dev's blog

To content | To menu | To search

Sunday 13 May 2012

The ANIS Association about DoudouLinux

At the REWICS 2012 (fr), the DoudouLinux association met people from the region of Lille (France) and more specifically the ANIS association (fr).

This one, active in development and promotion about citizens and uses for new information technologies (including the open source, free software and responsible web) but also in the re-use of equipment in the Northern Pas-de-Calais Department, published an article on DoudouLinux.

So ANIS talks about Doudoulinux (fr) ; the article has also been taken on Facebook (fr) (dated 08/05/2012) and Twitter (fr).

Various refurbishers have also been informed by the ANIS association.

Doudoulinux association thanks especially Julie Bailleul ((139 rue des Arts 59100 Roubaix - 03 20 28 48 68 - jbailleul@anis.asso.fr) and her current staff at the REWICS for their initiative.

Wednesday 29 September 2010

Nouvelles interfaces pour la souris et la sortie son

Les premières interfaces dignes de ce nom ont été écrites pour l'outil de réglage de la souris et celui de réglage de la sortie son. Du point de vue fonctionnel c'est pareil qu'avant, mais du point de vue esthétisme, on pense avoir quand même fait beaucoup mieux ! Quelques heures à s'arracher les cheveux pour se perfectionner un peu en PyGtk et voilà le résultat :

mouse-setting.png

set-alsa-output.png

Bon maintenant il n'y a plus qu'à patienter pour que ce soit sur les CD. Ou sinon faites un tour dans notre dépôt de code source. Les mises à jour des paquets Debian devraient aussi finir par arriver, avant les nouvelles versions des CD !

Thursday 2 September 2010

Upload en cours…

Allez patience, encore quelques heures et la nouvelle mouture sera disponible au téléchargement. Rendez-vous normalement dans 24h, en attendant lisez les notes de mise à jour

Sunday 22 August 2010

Installer DoudouLinux définitivement - suite

Dans le billet précédent Installer DoudouLinux définitivement, on a expliqué les détails techniques qui permettent d'installer DoudouLinux définitivement sur l'ordinateur - en détruisant tout ce qui est dessus au passage. Comme cette procédure va effrayer plus d'un utilisateur, j'avais sous-entendu en fin de billet que ça devrait pouvoir s'automatiser…

Et bien oui, c'est fait ! J'ai un script Python doudou-installer qui devine tout seul comme un grand où est la clef USB et où est le disque interne de la machine. L'utilisation est ultra simple lorsqu'il n'y a qu'un seul disque interne : il faut simplement valider le choix proposé par le script ! Il effectuera ensuite les opérations suivantes :

  • copie bas niveau de la clef USB
  • création d'une partition swap d'environ 350 Mo
  • utilisation de l'espace restant pour activer la persistance des données

Le type de persistance mis en place est persistance complète (système + données utilisateurs) avec stockage directement sur la partition, laquelle est formatée ext3. Par contre le système demande toujours à enlever le support à l'extinction (!), un bogue identifié fait qu'il croit toujours être sur un CD malgré mes tentatives…

Au niveau intégration à DoudouLinux, je précise tout de suite qu'il n'y aura pas d'icône pour installer facilement. Même si le script doit poser 3 fois la question « Êtes-vous vraiment sûr de vouloir tout écraser ? », les enfants ne doivent pas pouvoir accéder facilement à cet outil sinon comment papa et maman vont-ils garder l'esprit tranquille ?

NB: côté interface graphique, ne vous attendez pas à de beaux boutons translucides, je développe pour le moment dans l'urgence et je vais à l'essentiel → les fonctionnalités. On verra plus tard pour les beaux boutons !

Saturday 24 July 2010

Installer DoudouLinux définitivement

Pour le moment l'installation de DoudouLinux n'est pas activée via le système officiel des LiveCD Debian. Cependant, comme ceci ajoute une sur-couche logicielle de plusieurs dizaines de Mo, ceci veut dire qu'il faudra opérer des choix sur les logiciels installés… Une solution, pour ceux qui n'ont pas besoin de multiboot, c'est de copier tout simplement les données Live vers le disque dur local.

Avec le LiveCD, c'est compliqué car la structure d'un CD n'est pas celle d'un disque. Par contre avec la clef LiveUSB c'est très simple, il suffit de demander au système de faire une copie de bas niveau. C'est la commande dd qui permet de faire cela :

$ sudo dd if=/dev/sda of=/dev/hda
1434580+0 enregistrements lus
1434580+0 enregistrements écrits
734504960 bytes (735 MB) copied, 437,301 s, 1,7 MB/s

Toute la question est de retrouver les bons chemins /dev/sda et /dev/hda… Dans notre cas, manuel, on s'en sort en analysant les disques du système :

$ sudo fdisk -l

Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/hda doesn't contain a valid partition table

Disk /dev/sda: 2070 MB, 2070937600 bytes
255 heads, 63 sectors/track, 251 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0005800f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          92      738958+  83  Linux
/dev/sda2              93         251     1277167+  83  Linux

On a donc deux disques de 40 Go et 2 Go respectivement, le premier est forcément celui de la machine alors que le second est la clef USB. On peut vérifier en regardant ce qui est monté dans le système DoudouLinux en fonctionnement (via df -h). Cependant pour une utilisation en mode automatique (= interface graphique dans DoudouLinux), il faudra un processus de détermination des disques source et cible :

  • la clef USB est connectée sur le bus USB (!) et devrait être montée
  • le disque dur est forcément monté sur un bus interne (IDE ou SCSI)

La clef USB a peut-être aussi des partitions avec un nom en rapport avec DoudouLinux, comme l'image ISO de CD (à vérifier…).

Remarque : cette technique a été testée avec succès depuis une clef USB Live en cours de fonctionnement. Normalement on peut aussi activer la persistance des données avec l'outil intégré à DoudouLinux, mais ça n'a pas été testé. Le seul truc qui manque vraiment : retirer le message à l'extinction qui dit d'enlever la clef !

Saturday 5 June 2010

4 langues à télécharger en CD et clef USB !

Après 3 mois d'absence de nouvelles, il est temps de se manifester un peu… Depuis fin mai, l'espace téléchargement de DoudouLinux met à disposition 8 images de DoudouLinux. Il y a 4 langues : Anglais, Arabe, Espagnol et Français. Ces langues sont disponibles à la fois en version CDROM et en version clef USB. Ces images clef USB peuvent être transférées sur clef USB grâce à notre outil liveusb-write. On peut le trouver sous la forme de paquet Debian à partir du dépôt de paquets DoudouLinux ou sous forme de code source à partir du dépôt de code source chez Gna!. Sinon si vous préférez la méthode traditionnelle[1], c'est bien sûr avec la commande dd qu'on le fait :

$ dd if=doudoulinux-2010-05-fr.img of=/dev/sdx

/dev/sdx est le chemin de votre périphérique amovible.

Bon DoudouLinux !

Notes

[1] qui ne créera pas de seconde partition avec persistance activée, contrairement à notre outil…

Sunday 28 February 2010

La construction de CD multi-lingue est opérationnelle !

Ça y'est ! Les modifications nécessaires ont été apportées au code source afin de pouvoir générer des LiveCD dans d'autres langues que le français. Il reste encore à organiser un peu mieux les répertoires et, notamment, ne plus faire de l'anglais la base du LiveCD mais une langue comme une autre ;-). Néanmoins n'importe quelle autre langue peut être créée dans la mesure où elle est gérée par Debian. Il suffit de lancer la commande suivante dans le répertoire doudoulinux/live/trunk :

$ ./init-lang.sh xx

xx est le code de la langue sur deux lettres. On trouve ces codes par exemple dans la page List of ISO 639-1 codes. Ensuite il faut modifier les fichiers placés dans le répertoire de la langue qui vient d'être créé. La liste est la suivante (fichiers en italiques) :

$ tree es/
es/
|-- binary
|-- binary_local-hooks
|   `-- 10-set-grub.sh
|-- bootstrap
|-- chroot
|-- chroot_local-hooks
|   `-- 30-translate-shutdown.sh
`-- chroot_local-includes
   |-- etc
   |   `-- skel
   |       |-- .profile
   |       `-- .vkeybdmap
   `-- usr
       `-- share
           `-- lxlauncher
               `-- default
                   `-- lxpanel
                       `-- panels
                           `-- panel

Toutes les explications se trouvent dans le fichier HOWTO, du moins en théorie ;-). Du coup j'ai envoyé sur le serveur deux nouvelles langues du CD :

NB: si les liens sont morts, il faut aller directement dans http://download.doudoulinux.org/livecd/trunk/ !

Monday 8 February 2010

Code source initial en place !

Le code source de l'avant dernière version du LiveCD est en place sur le dépôt de code source Gna!. Du coup on va pouvoir commencer à travailler à plusieurs sur le code, ce qui devrait être une bonne nouvelle ;-) ! Par contre, ce qu'il manque pour le moment, c'est de la documentation. Déjà, il faut que je documente l'organisation du code source. Globalement on a à la racine du projet :

  • artwork/ : le graphisme du LiveCD et les documents de propagande (poster, plaquette)
  • docs/ : les futures documentations utilisateur, il en faut une succincte (prise en main) et une plus complète, l'idée est de les éditer en ligne avec un CMS
  • live/ : le code permettant de créer le LiveCD
  • packages/ : les paquets Debian non officiels utilisés dans le LiveCD (paquets « maison » et paquets patchés)
  • website/ : non utilisé pour le moment, la page web du projet sur Gna!

On retrouve les classiques sous découpages en trunk, tags, branches pour les versions actuelles, marquantes et officielles du LiveCD. Pour le moment tout se passe dans trunk, hein ? Sauf que j'ai oublié malencontreusement de le faire pour artwork/ ! Justement ce répertoire ainsi que packages/ méritent un peu de détails :

├── artwork
│   ├── branches
│   ├── tags
│   └── trunk
│       ├── common	= images et dessins utilisés dans les productions officielles
│       ├── live	= thèmes graphiques du LiveCD
│       ├── propaganda	= supports de communication
│       ├── rendered	= résultats de conversion SVG → PNG (vide sur SVN)
│       └── website	= thèmes graphiques du site web www.doudoulinux.org
│
├── packages
│   ├── branches
│   ├── tags
│   └── trunk
│       ├── apps	= les outils spécifiques à DoudouLinux
│       ├── artwork	= les paquets de thèmes graphiques
│       ├── debian	= le dépôt de paquets Debian (presque vide sur SVN)
│       ├── misc	= paquets divers
│       ├── patched	= les paquets officiels Debian mais patchés
│       └── sessions	= les paquets pour créer des sessions d'enfants

Signature du dépôt Debian en place

Ça y'est la signature du dépôt de paquets Debian est en place ! Ça veut dire qu'à partir de maintenant, même si quelqu'un parvenait à modifier les paquets sur le serveur (pour y mettre des logiciels malveillants), le gestionnaire de paquets s'en apercevrait et informerait l'utilisateur de la non authenticité des paquets. Les instructions sont écrites à la page http://debian.doudoulinux.org/, on les remet ici parce que le look de la page du dépôt est encore un peu brut de fonderie ;-) !

Pour déclarer les paquets DoudouLinux dans votre système, il faut ajouter dans votre fichier de dépôts /etc/apt/sources.list la ligne suivante :

  • pour Debian Lenny
deb http://debian.doudoulinux.org/ lenny main
  • pour Debian Squeeze
deb http://debian.doudoulinux.org/ squeeze main

NB: pour le moment il n'y a rien pour Squeeze, ne cherchez pas !

Il faut aussi récupérer la signature du dépôt pour contrôler l'authenticité des paquets téléchargés. La signature sera valable un an, après quoi il faudra la mettre à jour. Une possibilité consiste à installer le paquet doudoulinux-keyring après avoir déclarer le dépôt DoudouLinux, puis à recharger les informations du dépôt (méthode recommandée) :

$ sudo apt-get update
$ sudo apt-get install doudoulinux-keyring
$ sudo apt-get update

Remarque : apt-get vous demandera s'il faut installer ce paquet non authentifié, ce qu'il faut faire, c'est sans risque !

On peut aussi télécharger ce paquet et l'installer avec la commande suivante avant de rafraîchir les informations sur les paquets :

$ wget http://debian.doudoulinux.org/pool/main/d/doudoulinux-keyring/doudoulinux-keyring_2010.02.07_all.deb
$ sudo dpkg -i doudoulinux-keyring_2010.02.07_all.deb
$ sudo apt-get update

Une autre possibilité consiste à télécharger cette signature et à la déclarer dans le gestionnaire de clefs des paquets avec la commande suivante :

$ wget -O - http://debian.doudoulinux.org/doudoulinux.asc | sudo apt-key add -

Et voilà !

Sunday 7 February 2010

Démarrage du dépôt Debian

Les premiers paquets DoudouLinux ont été envoyés sur notre dépôt Debian. Il s'agit des paquets permettant d'ajouter des sessions de type application seule (pysycache, gamine, childsplay, gcompris) et de type environnement simplifié (un dock seul ou une interface en onglets type EeePC). Les instructions sont sur la page :

http://debian.doudoulinux.org/

Attention toutefois : le dépôt n'est pas encore signé par clef GPG, mais ça va venir… D'ailleurs il faudrait que je fasse un paquet avec la clef !

Wednesday 3 February 2010

Un premier CD est disponible !

J'ai uploadé, pardon, envoyé une image ISO de CD il y a quelques jours. C'est la dernière version de DoudouLinux que j'ai compilée, avec notamment la persistence des données activée. Ça veut dire que, une fois qu'on a sélectionné le périphérique sur lequel enregistrer les données (clef USB, disque dur interne, etc.), au démarrage suivant les travaux des utilisateurs pourront être enregistrées automatiquement puis restaurées à chaque démarrage suivant.

Il ne reste plus qu'à indiquer l'emplacement de ce CD :

http://download.doudoulinux.org/liv...

Chez moi j'obtiens un débit plus qu'honorable d'environ 800 ko/s soit 12 min. de téléchargement. On dirait pour le moment que je ne me suis pas fait roulé en prenant cet hébergeur ;-) !

NB: vous pouvez vérifier l'intégrité du CD téléchargé en vérifiant sa somme de contrôle MD5. Sous Linux c'est très simple :

$ md5sum --check doudoulinux-20100115.iso.md5 
doudoulinux-20100115.iso: OK

Sous Mac OS, ça doit marcher pareil, par contre sous Windows… il faut certainement commencer par télécharger l'outil qui va bien et qui ne fait évidemment pas partie du système par défaut parce que sinon ça aurait coûté 2j d'ingénieur en plus à la pauvre société milliardaire qui l'édite ;-) ! Cela dit tout logiciel de gravure de CD qui se respecte vérifie la somme de contrôle intégrée au CD avant de graver…

Monday 1 February 2010

URL rewriting pour DotClear (chez MavenHosting)

Quand on a plusieurs services sur son site web, on les met dans des sous-répertoires différents du site, par exemple http://monsite.org/blog/, http://monsite.org/wiki/, etc. Cependant c'est plus sympa de pouvoir y accéder par des URL imitant des sous-domaines (http://blog.monsite.org/, http://wiki.monsite.org/), notamment si un jour il faut migrer un des services sur un serveur externe. L'opération pour DotClear est expliquée dans le billet De belles URL sous Dotclear 2.

Cependant les explications données ne fonctionnent chez MavenHosting que pour les pages et pas pour les fichiers appelés par les pages (styles CSS, JavaScript, images, etc.). En effet, en inspectant les requêtes arrivées au serveur, on constate que les pages n'ont plus de référence au sous-répertoire alors que les fichiers appelés par les pages l'ont encore… La solution est indirectement livrée par une des astuces de ré-écriture d'URL expliquée dans l'article more .htaccess tips and tricks : il faut ré-écrire différemment les URL des pages et du reste.

Si on suppose que le blog est installé dans le sous-répertoire dotclear/, le fichier .htaccess à placer dans ce répertoire est le suivant :

# Activation du moteur de réécriture
RewriteEngine On

# Si le fichier demandé n'existe pas physiquement
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# On commence par chercher un début en dotclear/ (pour les css, js, images, etc.)
RewriteRule ^dotclear/(.*) http://monsite.org/dotclear/$1 [L]

# S'il n'existe toujours pas
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# On envoie la demande à l'index de Dotclear
RewriteRule (.*) /index.php/$1 [L]
RewriteRule ^$ /index.php [L]

Chez notre hébergeur, ça marche !

Sunday 31 January 2010

Dépôt de code source ouvert

Ça y'est le dépôt de code source de DoudouLinux vient d'être ouvert ! Il est hébergé sur Gna! :

Il n'y a pas encore grand chose à voir mais ça va venir… Parmi les sections qu'il faudra surveiller, outre le code source, il y a le gestionnaire de tâches et le gestionnaire de bogues :

NB: please speak english on the task/bug managers!

Le code source est public donc n'importe qui peut le récupérer. Par contre pour participer au développement, il faut ouvrir un compte chez Gna! afin de récupérer une copie versionnée du code. Cette opération nécessite une clef d'authentification SSH comme indiqué dans la page DoudouLinux - Dépôts Subversion[1]. Une fois votre compte créé, les instructions sont écrites dans un billet que j'avais publié il y a un certain temps sur mon blog[2]. Il faut ensuite que vous demandiez à intégrer le projet DoudouLinux, et que j'accepte cette requête ;-).

Pour récupérer le code, notez que pour le moment il y a bien un répertoire trunk à la racine, mais ceci est susceptible de changer car il y a pas mal de choses différentes à héberger. Je vous tiens au courant dès que l'arborescence et le premier code sont en place ;-) !

Notes

[1] z'êtes priés de mettre à votre clef une phrase de passe longue et compliquée ;-)

[2] c'était au sujet de CVS mais ça reste valable avec SVN

Saturday 30 January 2010

Les applications Php chez MavenHosting

Chez notre hébergeur, il faut bien s'arracher les cheveux pendant quelques heures avec des messages incompréhensibles d'erreur 404 avant de trouver la réponse… On télécharge le paquet MediaWiki, Dotclear, ou ce que vous voulez, on envoie la version décompressée sur le serveur et, pof, erreur 404 à (presque) toutes les pages… Alors, unixien dans l'âme le diagnostic tombe en moins de deux : « bah, problème de droits ». En effet, mais pas évident, et relevant presque du miracle. L'astuce :

lftp doudoulinux.org:/public_html> chmod -R 755 <répertoire>

Parce qu'avec 777 (hé oui, je l'avais essayé en désespoir de cause), et bien ça ne marche pas ! Bon, souhaitons qu'avec un truc pareil la sécurité des fichiers Php sur le serveur soit au top…

C'est parti !

Et voilà ! DoudouLinux c'est parti, avec un site web, un blog, et bientôt, heu, ben, plein de choses pour les petits et les grands…