Tous les articles par Christian Jacolot

Fête de l’Internet: SPIP Apéro

Infini, Archipel Du Libre, Finix organisent dans le cadre de la Fête de l’Internet, un SPIP Apéro :

* le vendredi 24 mars,

* de 20h à 23h,

* au Fourneau (Port de Commerce) à Brest (le grand batiment bleu au bord du parc à chaînes).

Le but de cette animation est de présenter SPIP et d’ouvrir et d’animer un débat autour des personnes qui utilisent cet outil de publication et de collaboration.

Il y aura des PC à disposition et nous pourrons donc faire de la pratique.

Merci au Fourneau pour l’accueil du SPIP Apéro.

Compte rendu SPIP Apéro: 10 février

Le premier SIP Apéro brestois s’est tenu le vendredi 10 février, dans la salle Tessier.

L’organisation et l’animation ont été réalisées par:

* Jean-Marie,

* Infini,

* Archipel Du Libre,

* et Finix.

Et avec le soutien de:

* la Mairie de Brest pour le prêt de la salle,

* et Brest-Wireless pour la réalisation de la connexion Internet (Wifi).

De nombreuses personnes se sont réunies (débutants, confirmés, experts) pour découvrir, discuter et débattre autour du système de publication SPIP.

Yann Forgerit est venu en voisin pour animer le débat (co-auteur du SPIP 1.8, Les Cahiers du Programmeur).

Merci à tout le monde et à bientôt.

Annonce SPIP Apéro: 10 février

Infini, Archipel Du Libre, Finix et Brest-Wireless (pour son soutien technique) organisent un SPIP Apéro:

* le vendredi 10 février,

* de 20h à 23h,

* salle Tessier (rue Colonel Fontferrier) à Brest.

Le but de cette animation est de présenter SPIP
et d’ouvrir et d’animer un débat autour des personnes qui
utilisent cet outil de publication et de collaboration.

Merci à la mairie de Brest pour le prêt de la salle et son soutien.

Informations supplémentaires sur SPIP Party.

Compiler des sources

Compiler des sources
——————–

Installer les outils pour compiler (debian)
– binutil
– gcc
– make
– verifier que les includes (fichier.h dans /usr/include) sont presents

Tester les outils de compil
taper en mode console:
=> gcc
si le compilateur gcc est present il y a une erreur du style: « no input file » autrement erreur: « command not found »

Compiler les sources
——————–
– recuperer les sources d’une application (par exemple: www.squeak.org)

– installer les sources
gzip: si le fichier de sources est un tar.gz => tar xzvf fichier.tar.gz
bunzip: si le fichier de sources est un tar.bz2 => tar xjvf fichier.tar.bz2

– premiere chose a faire, lire les fichiers README et/ou INSTALL qui indiqueront la facon de compiler et d’installer les sources (quelque fois ca varie un peu en fonction des sources, comme c’est le cas pour squeak)

– preparer la compilation des sources
taper: ./configure a la racine des sources
(pour squeak, le README nous indique une ligne de commande differente, mais le resultat est identique)

Que fait Configure ? :
———————-
– Teste les caractéristiques du système local
– Produit un header optionnel ‘config.h’ (par défaut)
– Construit le ou les Makefile(s)
– Produit les fichiers de contrôle ‘config.status config.log’
S’il manque des librairies ou des outils de compilation sur le systeme, Configure finira par une erreur.

– compiler les sources
taper: make

Make prend en entree le fichier Makefile qui a ete
genere par configure, il utilise comme point d’entree dans ce fichier, le label (« target »): ‘all:’ qui est suivi des targets a executer. Ensuite chaque target contient des instructions (gcc …) a realiser pour compiler les sources.

Si les outils de compilation ont trouve un erreur, make ne terminera par la compilation et il faudra la corriger et recommencer.
(comme pour squeak, ou il manquait les libX11-dev sur une des machines).

En cas d’echec lors de la compilation, il faut nettoyer les fichiers makefile ayant ete crees automatiquement lors de la compilation avant de recommencer une nouvelle compilation.

Cela se fait grace à la commande:
make clean

– installation
une fois le programme compile, il est opportun de le placer dans un repertoire ou l’ensemble des utilisateurs du systeme pourront le trouver pour l’utiliser
(/usr/local/bin …).

Pour cela, passer en mode administrateur (root) et taper:
make install

La target « install » s’occupe de l’installation de l’application, aussi bien les binaires que la doc, les librairies necessaires et compilees pour cette application.

– tester le binaire
Il est possible de tester le binaire avant son installation (apres le make).

Dans le cas de squeak, il est important de telecharger en plus l’image (le systeme squeak qui contient les outils, l’environnement graphique … de squeak), le programme squeak (le binaire compile ci-dessus) n’etant qu’une machine virtuelle qui va executer le code machine squeak qui se trouve dans l’image a telecharger.

– fin

Paquetage Debian

Création d’un paquet Debian
—————————
Le système de gestion des paquets Debian est complexe et n’est pas forcément convivial pour les novices. Mais il a l’avantage d’être puissant.

Dans cet exercice, on va essayer de clarifier un peu le processus de création d’un paquet pour son installation sur un système de fichier, en partant du plus loin que l’on peut pour un paquet, à ses sources.

Choisir son source
——————
Pour commencer, il faut avoir des sources sous la main
pour construire un exécutable qui fonctionne.

Par exemple le source hello-1.0.tar.gz
que l’on avait presque reussi a fabriquer la derniere fois !!
que vous trouverez a l’adresse:
http://christian.jacolot.free.fr/Finix/Initiations/hello-1.0.tar.gz

Avant de créer le paquet
————————
Verifier que vous avez tous les outils pour creer le paquet debian:
– dh_make
– fakeroot
Sinon, il faut les installer avec « apt-get install ».

Placer le paquet source « hello » dézippé, détarré,
dans un répertoire « paquetdebian ».
– mkdir paquetdebian
– cp hello-1.0.tar.gz paquetdebian
– cd paquetdebian
– tar xzvf hello-1.0.tar.gz

Généralement on obtient:
paquetdebian/hello-1.0/

Glisse toi dans le répertoire:
– cd hello-1.0

Maintenant utilise la commande:
– dh_make -e adresse_email -f ../hello-1.0.tar.gz

Un menu s’affiche, pour l’instant choisir « s » comme « single »,
et normalement c’est tout, le programme s’occupe de tout.

Modifier quelques fichiers
————————–
Le programme précédent a crée un répertoire debian dans le répertoire hello-1.0 et a crée un fichier hello-1.0.orig.tar.gz dans le répertoire père de hello-1.0 (dans paquetdebian).

Ensuite, on peut eventuellement modifier quelques fichiers dans le répertoire debian:
– control: ajouter des commentaires
– copyright: placer un copyright
– changelog: avec le programme dch ajouter un petit commentaire
– rules: ne rien toucher là-dedans pour l’instant
Les autres fichiers ne sont pas utiles pour notre exemple et peuvent rester dans le répertoire.

Créer le paquet hello
———————
Dans le répertoire hello-1.0, taper la commande:
– dpgk-buildpackage -rfakeroot

Et magique, ca marche tout seul, on trouve dans le répertoire père de hello-1.0 les fichiers suivants (dans le repertoire paquetdebian):
– hello_1.0-1.diff.gz
– hello_1.0-1.dsc
– hello_1.0-1_i386.changes
– hello_1.0-1_i386.deb
– hello_1.0.orig.tar.gz

Ensuite …
On peut installer le paquet binaire hello_1.0-1_i386.deb sur son système:
– dpkg -i hello_1.0-1.i386.deb

Ceci était un petit exemple de manipulation de paquets et d’outils debian.

Paquetage GNU

* Fabriquer un paquetage pour les sources (the GNU build system).

– Installer les outils pour fabriquer un paquetage GNU (debian)
* autoscan
* automake
* autoconf

– Ecrire un programme C:
* mkdir finixware; cd finixware
* mkdir src; cd src
* vim finixware.c
#include

int main()
printf(« Hello the FinixWorldn »);
return 0;

– Compiler et tester le programme C:
* gcc -o finixware finixware.c

– Paquetage
* outil: autoscan
– permet d’aider a la creation d’un fichier configure.ac (les besoins du source: include, librairie …)
– tester la portablilite (entre systeme Unix) des methodes et des fonctions
– creer un fichier vide: configure.ac
=> cd finixware
=> touch configure.ac
=> autoscan
=> cp configure.scan configure.ac (copier le fichier)
– ajouter des elements dans configure.ac
=> AC_INIT(finixware, 1.0)
=> AM_INIT_AUTOMAKE
=> AC_CONFIG_FILES([Makefile])

* aclocal
– permet de creer les macros pour le deploiement futur sur une autre machine
– rendre independant de la pateforme l’utilisation des outils qui vont suivre
* creer squelette Makefile.am
– vim Makefile.am
bin_PROGRAMS = finixware
finixware_SOURCES = finixware.c
* autoheader
– creation du fichier config.h.in (qui va servir pour configure)
=> autoheader
* automake
– creer le fichier Makefile.in
– automake necessite les fichiers suivant:
# install-sh
# missing
# INSTALL
# NEWS
# README
# AUTHORS
# ChangeLog
# COPYING
# depcomp
– automake avec l’option « -a » permet de generer certain de ces fichiers:
# install-sh
# missing
# INSTALL
# COPYING
# depcomp
– les autres sont a creer (dans notre exemple, ils seront vides):
=> touch NEWS README AUTHORS ChangeLog
=> automake -a (qui va creer le fichier Makefile.in)

* autoconf
– permet de creer le fichier configure.in (qui va servir pour configure)
=> autoconf

* Tester le configure
– ./configure (pour voir si ca marche)

* Creer le paquetage
– fournir un fichier src.tar.gz (ou tar.bz2)
– fichier de type finixware-1.0.targ.gz (voir le fichier configure.ac pour les parametres)
– contenant les sources, les fichiers pour compiler.
=> make dist-gzip (ou dist-bzip2)
– on obtient le fichier suivant: finixware-1.0.tar.gz

* Tester le paquetage
– mkdir ../finixware-test
– cp finixware-1.0.tar.gz ../finixware-test/
– cd ../finixware-test/
– tar xzvf finixware-1.0.tar.gz
– cd finixware-1.0

– ./configure
– make
– make install
– which finixware (normalement celui qui se trouve dans /usr/local/bin)
– finixware (executer)
=> Hello the FinixWorld

et voila le resultat 🙂

– fin
– Annexe
– fichier configure.ac
______________________
#

    – Autoconf


      # Process this file with autoconf to produce a configure script.

      AC_PREREQ(2.59)
      AC_INIT(finixware, 1.0)
      AM_INIT_AUTOMAKE
      AC_CONFIG_SRCDIR([src/finixware.c])
      AC_CONFIG_HEADER([config.h])

      # Checks for programs.
      AC_PROG_CC

      # Checks for libraries.

      # Checks for header files.

      # Checks for typedefs, structures, and compiler characteristics.

      # Checks for library functions.
      AC_CONFIG_FILES([Makefile])
      AC_OUTPUT
      ______________________

      – fichier finixware.c
      ______________________
      #include

      int main()
      printf(« Hello the FinixWorldn »);
      return 0;

      ______________________

Fête du libre et de l’Internet

Le samedi 19 mars de 10h à 18h,
à la MJC de l’Harteloire,
sur le thème « Wifi et Logiciel Libre »,
présentation de:

* Archipel du Libre:
Conférence sur les logiciels libres,
Présentation des logiciels libres

* Brest-Wireless:
Jeu de piste

* Finix:
Install Party Linux orientée Internet

* Le Fourneau:
Expérimentation streaming MPEG4

Compte rendu: Finix Brest: samedi 4 décembre

Samedi 4 décembre a eu lieu dans la salle Tessier, une présentation Linux et logiciels libres .

Plus d’une trentaine de personnes s’est retrouvée autour des nombreux ordinateurs (principalement des portables) pour cette demi-journée.

Ces personnes intéressées ont découvert Linux et les logiciels libres au travers de différentes présentations:

* Linux,

* Environnement graphique: KDE,

* OpenOffice.org,

* The Gimp,

* Knoppix (linux sans installation sur disque dur)

installation et paramétrage:

* réseau sans-fil (wifi) voir compte-rendu Brest-Wireless

* résolution de nombreux problèmes (lilo, ADSL) sur les ordinateurs des particuliers.

De nombreux contacts ont aussi été établis, notamment avec l’association Rhizomes.

La journée s’est achevée par une soirée Kig Ha Farz.

Nous remercions la mairie de Brest pour le prêt de la salle, et à Brest-Wireless pour la connexion Wifi.