mar 24

Ajout de Chromium:

sudo apt-get install chromium-browser

Ajout des applications propriétaires :

sudo apt-get install ubuntu-restricted-extras adobe-flashplugin

Correctif suite aux bugs sur Flash :

sudo apt-get remove adobe-flashplugin
sudo apt-get install flashplugin-installer

Ajout des outils de personnalisation système :

sudo add-apt-repository ppa:tualatrix/next
sudo apt-get update
sudo apt-get install ubuntu-tweak

Gestion des archives :

sudo apt-get install p7zip-full p7zip-rar

Ajout des outils de visualisation :

sudo apt-get install gnome-sushi

Ajout de la gestion de la webcam :

sudo apt-get install cheese

written by gglafouine

déc 28

Je viens d’installer Notepad++ et après la deuxième ouverture du programme, j’ai le message suivant : »

Load langs.xml failed!

Si je clique sur ok le fichier s’ouvre mais le langage n’est pas déterminé.
J’ai essayé de supprimer notepad et de le réinstaller mais j’ai toujours le même problème.
Le plus bizarre c’est qu’en faisant un clic droit sur le fichier et en choisissant Edit with Notepad++, je n’ai aucun soucis.

J’ai fais remplacé le fichier langs.xml en  langs.model.xml situé dans le répertoire d’installation de notepad++. résultat… toujours la même erreur.

Suite à une recherche j’ai trouvé des fichiers ailleurs

C:\Users\%USERNAME%\AppData\Roaming\Notepad++\

Après observation, je me suis rendu compte que le fichier XML était corrompu. Ducoup voici mon script pour la modification car j’ai pas encore pu identifier si le problème était valable pour tous les utilisateurs.

A lancer dans l’utilitaire de commande:

copy "C:\Program Files (x86)\Notepad++\langs.model.xml"  "C:\Users\%USERNAME%\AppData\Roaming\Notepad++\langs.xml" /Y

 

 

written by gglafouine

août 18

La Suisse propose une liste de services de données géographique utilisable dans des applications de cartographie en client lourd ou client léger.

Voici la liste de ces données Liste.txt

Le SITG (Système d’Information du Territoire Genevois) c’est quelque peu enrichi.
Voici la page permettant d’accéder aux différents services :lien

Celle-ci contient des données utilisable sous forme de service ArcGIS, ArcIMS ou encore WMS.

written by gglafouine \\ tags: , , , ,

août 07

Suite à la mise à jour de WordPress, je me suis retrouvé dans l’incapacité d’ouvrir mes pages et mes articles. En effet, je tombais sur un message du type « votre page est introuvable ». Après 20 minutes de recherche, j’ai trouvé deux sujets qui m’ont aidés à corriger mon problème :

Donc, suite à la mise à jour de WordPress de la version 2.5 à 2.6, j’ai corrigé mon problème en suivant les étapes suivantes :

  1. enlever le fichier .htaccess situé à la racine du serveur FTP qui est présent par défaut.
  2. se connecter via l’interface d’administration et aller sur le menu réglages >> permaliens.
  3. Vérifier en bas de page qu’aucun éléments concernant le fichier .htaccess n’est renseigné dans la boite textuelle correspondante. Sinon, il faut en supprimer le contenu.
  4. Repasser la structure des permaliens à leurs valeur par défaut
  5. Enregistrer les paramêtres

Maintenant nous pouvons voir les articles et les pages. Mais le hic c’est que les liens des pages ne correspondent plus à ceux enregistrés par les moteurs de recherches.

Nous allons donc retourner dans le panneau d’administration afin de modifier les permaliens.

  1. se connecter via l’interface d’administration et aller sur le menu réglages >> permaliens.
  2. Sélectionner structure personnalisée et insérer le contenu de votre adresse. Si vous êtes hébergé chez Free vous devez ajouter au début de la structure un /index.php/ suivi des éléments que vous voulez retrouver dans vos liens.
    exemple : /index.php/%post_id%/%year%/%monthnum%/%postname%/
    Vous aurez plus d’info sur les éléments des permaliens sur http://codex.wordpress.org/Using_Permalinks

  3. corriger le bug de la version 2.6 en remplissant les paramètres optionnels (qui ne le sont pas):
    • en préfixe des catégories : /catégorie
    • en préfixe des tags : /tag

Maintenant, ça marche donc pour vous ça devrez fonctionner aussi.

written by gglafouine \\ tags: , ,

juin 25

Les couleurs

Calculateur convertisseur de code couleurs

Tiens, avec une petite recherche avec notre ami Google, j’ai trouvé des sites en ligne très intéressant:

mots-clés de la recherche Résultat de la recherche
color editor on line

Autre site intéressant : 0to255

written by gglafouine \\ tags:

juin 20

Suite à de multiple tentatives de connexion de table avec des clauses plus ou moins variables entre Mapserver et PostgreSQL, j’ai trouvé différents problèmes et différentes manières de les régler.

Simple ou double cote ?!

Voici une requête classique :

the_geom FROM (
	SELECT * 
	FROM table1 
	) AS foo USING UNIQUE ogc_fid USING SRID=27572

Cette requête est incluse dans des double cote :

DATA " ma requête "

Si vous avez enregistrez vos tables avec des nom contenant des caractères en majuscules ou des tirets, vous devez les modifier .

Astuce (à éviter pour les raisons qui vont suivre) : Pour que les tables soient reconnu, vous devez les inclure dans des double côtes :

the_geom FROM (
	SELECT * 
	FROM "TaBle-1"
	) AS foo USING UNIQUE ogc_fid USING SRID=27572

Cette requête cette requête sera incluse dans des simple cote :

DATA ' ma requête '

Ce schéma se répète avec les noms de champ pour lors de jointures ou d’utilisation de clauses WHERE ou encore lors de la sélection de champs particuliers :

the_geom FROM (
	SELECT * 
	FROM table1 LEFT OUTER JOIN table2
	ON (table1.id = table2.id) 
	) AS foo USING UNIQUE ogc_fid USING SRID=27572

Requête à inclure dans :

DATA " ma requête "
the_geom FROM (
	SELECT * 
	FROM "Table1" LEFT OUTER JOIN table2
	ON ("Table1".id = table2."ID") 
	) AS foo USING UNIQUE ogc_fid USING SRID=27572

Requête à inclure dans :

DATA ' ma requête '

Le problème se compique lors de l’exécution d’une clause WHERE avec l’opérateur LIKE car si vous utilisez le caractère % ou _ , vous devrez les englober dans des simple cote. Donc, On abandonne obligatoirement les majuscule dans le nom des champs et dans le nom des tables.

Donc le résultat est

DATA "the_geom FROM (
	SELECT * 
	FROM table1 LEFT OUTER JOIN table2
	ON (table1.id = table2.id) 
	WHERE table1.id LIKE '29%'
	) AS foo USING UNIQUE ogc_fid USING SRID=27572"

Les Jointures

J’ai remarqué que la jointure de deux tables dont le but est de renvoyer les éléments identique dans les deux tables peux s’écrire de deux voir trois manières.

Écriture 3 :

DATA "the_geom FROM (
	SELECT * 
	FROM table1 INNER JOIN table2
	ON( table1.id = table2.id)
	) AS foo USING UNIQUE ogc_fid USING SRID=27572"

Écriture 2 :

DATA "the_geom FROM (
	SELECT * 
	FROM table1,table2
	WHERE table1.id = table2.id
	) AS foo USING UNIQUE ogc_fid USING SRID=27572"

Dans cet Exemple, il n’y a pas de clause de jointure. Dans le cas une abscence de clauses JOIN c’est INNER JOIN qui est défini par défault si une clause WHERE avec un critère d’égalité est entrée sinon INNER JOIN se comporte comme CROSS JOIN (et donc comme un produit cartésien)

Écriture 3 :

DATA "the_geom FROM (
	SELECT * 
	FROM table1 NATURAL JOIN table2
	) AS foo USING UNIQUE ogc_fid USING SRID=27572"

Étant donné que la jointure des deux tables porte sur des champs identiques, il est possible de simplifier la requête en supprimant la clause WHERE ( avec une égalité de champs), USING, et ON.

Maintenant je ne sais pas si une de ces requêtes est plus rapide. Donc je vais tester ça.

written by gglafouine \\ tags: ,

juin 10

Informations préalables

Tout d’abord, il est indispensable d’avoir installé GDAL sur votre système. Vous devez également avoir un SGBD PostgreSQL et PostGIS d’installé. Ensuite la base de données que vous souhaitez utiliser doit être spatialisé.

Maintenant, vous devez disposer d’un jeu de données complet avec un système de projection renseigné.

Le jeu de données se compose de :

  • pays.DAT
  • pays.ID
  • pays.MAP
  • pays.TAB
  • pays.IND (optionnel)

Vous pouvez obtenir des informations sur le système de projection en tapant :

ogrinfo -so -al pays.TAB

Insertion des données dans une base de données

Maintenant vous devez vous placer dans le répertoire des données et utiliser la commande suivante.

PGCLIENTENCODING=iso-8859-15 ogr2ogr -f "PostgreSQL" PG:"host=localhost dbname=MaBase user=moi port=5432 password=MonMot2Passe" -lco GEOMETRY_NAME=the_geom -a_srs EPSG:27572 pays.TAB

Description :

PGCLIENTENCODING

Cet argument est indispensable si vous souhaitez insérer des données encodées au format ISO-8859-xx dans une base de données UTF-8

ogr2ogr

C’est la commande de conversion de fichier

-f "PostgreSQL"

L’option -f défini le format dans lequel va être enregistré le jeu de données. Dans notre cas, nous voulons enregistrer notre jeu de données dans une base de données d’un SGBDR « PostgreSQL » (celle-ci étant, bien sûr, spatialisée)

PG:"host=localhost dbname=MaBase user=moi port=5432 password=MonMot2Passe"

Ces informations sont à renseigner afin déterminer quel seveur, quel port (5432 est le port par défaut donc il n’est pas forcément nécessaire de le renseigner pour une première installation par défaut), et quelle base de données nous devront utiliser pour stocker le jeu de données. Nous devons également définir un utilisateur ayant des droits suffisants pour créer des tables dans cette base de données

-lco GEOMETRY_NAME

Cette option suivi de l’argument GEOMETRY_NAME permet de modifier le nom de la colonne géométrie ce qui est utile lors que l’on veut aussi utiliser la commande shp2pgsql. Il faut donc mettre la valeur « the_geom »

-a_srs

Cette option est indispensable dans mon cas car le système de projection n’est pas reconnu avec la commande ogrinfo. Dans mon exemple, la projection sous Mapinfo est définie en Lambert II carto Paris. J’ai donc mis le code EPSG correspondant : 27572 (en sachant qu’il remplace le code 27582 anciennement utilisé pour cette projection, celui-ci étant aujourd’hui obsolète)

-overwrite

Cette option s’avère utile pour mettre à jour le contenu de vos tables mais n’est pas indispensable.

Création d’un index spatial

Afin d’améliorer les performance de votre système de gestion de base de données, il est d’indexer vos tables sur la géométrie. Une bonne méthode est disponible sur le site PostGIS.fr. Ainsi nous allons créer un index sur la colonne the_geom

Tout d’abord, nous devons nous connecter à la base de données :

 psql -u moi -d MaBase

Maintenant, nous allons créer notre index et le nommer the_geom_gist (c’est pas un nom obligatoire. c’est juste pour mémoriser sur quel colonne et quel méthode j’ai utiliser pour créer l’index) :

CREATE INDEX "the_geom_gist" ON "pays" USING GIST ("the_geom" GIST_GEOMETRY_OPS );
-- L'analyse de la table est indispensable pour l'optimisation des requêtes. 
-- Il est donc nécessaire de l'effectuer après chaque ajout de tables ou modification de celles-ci.
VACUUM ANALYZE "pays";

Gestion des droits

Pour permettre à un utilisateur de lire vos données cartographiques tout en évitant les problèmes de sécurité, nous devons limiter les droits d’accès avec une unique possibilité de lecture.

Pour cela, il faut faire la manipulation sur chaque table de la base de données :

GRANT SELECT ON "pays" TO "www-data";
VACUUM "pays";

written by gglafouine \\ tags: , , , ,

mai 06

Ce source.list permet d’installer des paquets pour Ubuntu Gusty avec une orientation SIG.

Modifiez votre fichier en tapant :

sudo gedit /etc/apt/sources.list

Vous pouvez aussi faire les modification via Nautilus :

sudo nautilus

ensuite, vous pourrez ouvrir et enregistrer le fichier sources.list.

Maintenant, adaptez le contenu ou supprimez et coller le texte suivant :

## File : sources.list
 
##### Serveurs Français #####
 
#paquets principaux maintenus par Ubuntu
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
 
#paquets libres et non-libres non-maintenus par Ubuntu
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse
#ancien paquets stabilisées par des volontaires
deb http://fr.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
 
# Dépôts de sources (uniquement utiles pour télécharger les sources avec "apt-get source". Dans ce cas enlever les #)
# deb-src http://fr.archive.ubuntu.com/ubuntu/ gutsy universe multiverse
# deb-src http://fr.archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse
# deb-src http://fr.archive.ubuntu.com/ubuntu/ gutsy main restricted
# deb-src http://fr.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
# deb-src http://fr.archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
 
##### Serveurs Internationaux #####
# (pour les fichiers absent des serveurs français)
 
## A conserver (mise à jour de sécurité)
deb http://security.ubuntu.com/ubuntu gutsy-security main restricted
deb http://security.ubuntu.com/ubuntu gutsy-security universe multiverse
 
deb http://archive.ubuntu.com/ubuntu/ gutsy main restricted
deb http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ gutsy universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse
deb http://archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
 
#sources
# deb-src http://archive.ubuntu.com/ubuntu/ gutsy main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ gutsy-updates main restricted
# deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ gutsy universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ gutsy-updates universe multiverse
# deb-src http://security.ubuntu.com/ubuntu gutsy-security universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ gutsy-backports main restricted universe multiverse
 
## Logiciel à jour
 
# PGadmin3 via APT (nécessite une clé public)
deb ftp://ftp4.fr.postgresql.org/pub/mirrors/postgresql/pgadmin3/release/ubuntu gutsy pgadmin
 
# Gdal | mapserver | php5-mapscript | grass | qgis via APT (nécessite une clé public)
deb http://les-ejk.cz/ubuntu gutsy multiverse
deb-src http://les-ejk.cz/ubuntu gutsy multiverse

Pour obtenir des paquets sur ces nouveaux serveurs, nous devons demander une clé public.
Pour cela, tapez :

wget -q -O - http://www.pgadmin.org/pgp/archive_key_debian_ubuntu.gpg | sudo apt-key add -
wget -q -O - http://les-ejk.cz/pgp/jachym_cepicky-gpg.pub | sudo apt-key add -

written by gglafouine \\ tags: , ,

mai 06

Pré-requis:

Ce tutoriel nécessite :

  • une connexion internet,
  • d’avoir les paquets à jour ainsi qu’une petite modification du source.list afin d’avoir tous les paquets nécessaires
  • d’avoir installé apache2 et php5

Mémo :

  • Installation de Apache2 et php5 :
    sudo aptitude install apache2 php5
  • Configiration du fichier hosts ici

Installation des paquets

sudo aptitude install cgi-mapserver mapserver-bin mapserver-doc php5-mapscript python-mapscript

Note : Avec cette méthode, mapserv est installé dans /usr/lib/cgi-bin.

Visualisez les informations relatives à Mapserver

Après l’installation, vous pouvez voir les paramètres se reportant aux supports ainsi qu’aux formats d’export et import pris en compte par Mapserver.

Tapez :

/usr/lib/cgi-bin/mapserv -v

Réponse de la machine :

MapServer version 5.0.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE

Vous pouvez également retrouver ces informations en mettant sur votre serveur un fichier info.php à la racine du serveur (par exemple /var/www) contenant :

<?php phpinfo() ?>

Il nous suffira ensuite de taper http://localhost/info.php

Vous pouvez désormais tester le CGI de mapserver en cliquant sur le lien suivant :
http://localhost/cgi-bin/mapserv
Votre navigateur devrez vous retourner la phrase suivante : « No query information to decode. QUERY_STRING is set, but empty. »

Installation des exemples

Vous pouvez maintenant installer un exemple d’application conçu pour mapserver5 http://maps.dnr.state.mn.us/mapserver_demos/workshop-5.0.zip

Note : Dans mon cas, j’ai extrait le contenu de l’archive dans /home/gglafouine/gis-test/mapserver (les liens sont en relation avec ce dossier alors modifiez les en conséquences).

Configuration d’Apache2

Désormais nous devons éditer le fichier Default du serveur Apache afin de lui définir un nouvel hôte permettant d’accéder à notre application.

sudo gedit /etc/apache2/sites-available/default

Ajouter l’hôte virtuel :

<VirtualHost *>
	ServerName mapserver
	DocumentRoot /home/gglafouine/gis-test/mapserver
 
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
 
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>
 
	ErrorLog /var/log/apache2/mapserverdemo_error.log
	LogLevel warn
	CustomLog /var/log/apache2/mapserver_access.log combined
	ServerSignature On
</VirtualHost>

Nous devons ensuite modifier le fichier hosts :

 sudo gedit /etc/hosts

Ajoutez la ligne suivante :

127.0.0.2	localhost.localdomain localhost mapserver

Astuce : Vous pouvez créer un nouveau lien sur le fichier mapserv contenu dans le dossier /usr/lib/cgi-bin/ en le nommant mapserv50 (cela évite de modifier les occurrences des fichiers.)

Maintenant vous devez relancez le serveur :

sudo /etc/init.d/apache2 restart

Vous pouvez désormais vérifier une nouvelle fois le fonctionnement de mapserver en CGI en cliquant sur le lien suivant :

Votre navigateur devrez vous retourner la phrase suivante : « No query information to decode. QUERY_STRING is set, but empty.

Notre exemple n’est pas encore prêt à être utilisé. Pour cela, nous devons modifier les fichiers :

  • index.html
  • itasca.map

configuration de l’exemple

Tout d’abord, nous allons modifier le fichier index.html contenu dans le dossier workshop-5.0.

sudo gedit /home/gglafouine/gis-test/mapserver/workshop-5.0/index.html

Entrez les chemins correspondant à votre installation dans les ligne suivantes :

8
9
10
        // EDIT THE NEXT 2 LINES TO MATCH YOUR SETUP
        var snippet = "IMAGEPATH '/home/gglafouine/gis-test/mapserver/tmp/'";
        snippet += " IMAGEURL '/tmp/'";
41
42
43
44
      <!-- EDIT THESE HIDDEN VARIABLES -->
      <input type="hidden" name="map" value="/home/gglafouine/gis-test/mapserver/workshop-5.0/itasca.map">
      <input type="hidden" name="program" value="/cgi-bin/mapserv50">
      <input type="hidden" name="root" value="/mapserver/workshop-5.0">

Il nous faut encore modifier une ligne dans le mapfile :

sudo gedit /home/gglafouine/gis-test/mapserver/workshop-5.0/itasca.map

Modifiez la ligne :

76
      WMS_ONLINERESOURCE "http://localhost.localdomain/mapserver/workshop-5.0/index.html"

Enfin, vous pouvez visualiser les exemples en cliquant sur :
http://mapserver/workshop-5.0/

Et là ça fonctionne.

written by gglafouine \\ tags: , , , ,

mai 05

Encore une fois, je tombe sur quelque erreurs qui me pousse à aller voir mon ami Google afin de le questionner un peu sur le pourquoi et le comment

La première erreur : le serveur démarre avec l’adresse 127.0.1.1 au lieu de 127.0.0.1

Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

J’ai trouvé la réponse iciet la

Il faut vérifier le fichier /etc/hosts

sudo gedit /etc/hosts
1
2
3
4
5
6
7
8
9
10
127.0.0.1	localhost
127.0.1.1	ubuntu
 
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Il faut modifier les deux premières lignes comme il suit :

1
2
127.0.0.1	localhost.localdomain localhost ubuntu
#127.0.1.1	ubuntu

Ainsi, les deux erreurs sont corrigés en une seul fois ;-)

Il ne reste plus qu’à relancer le serveur est à vérifier.

sudo /etc/init.d/apache2 reload

Et la machine vous répond gentiment :

 * Reloading web server config apache2                                          5602
                                                                         [ OK ]

Maintenant nous allons ouvrir le navigateur et allez sur http://localhost/ et en bas de la page nous pouvons visualiser la version d’Apache ainsi que les modules installés.

Dans mon cas j’obtiens :

Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.3 Server at localhost Port 80

Note : Vous obtiendrez la même chose si vous entrez en lien le nom de votre machine. Dans mon cas ce sera http://ubuntu/

written by gglafouine \\ tags: , ,

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France.