Petit point sur le XML

Publié dans XML | 3 commentaires

Voilà quelques temps déjà que je veux faire un petit point sur le XML. Une sorte d’aperçu théorique et un peu pratique permettant d’aller plus loin avec ce langage tellement utilisé aujourd’hui. Ce jour semble être venu ! (tintindindin !) Tout du moins en partie, puisqu’aujourd’hui, je parlerai du XML, de la bonne formation d’un fichier XML et de sa validité.

Présentation rapide d’XML

XML, qu’est-ce que c’est ? C’est un langage d’échange basé sur le balisage. Peu après sa création en 1996 (ça date quand même), il remplace le SGML qui était un peu plus compliqué, et c’est aujourd’hui un méta-langage universel pour les données sur le Web, surtout depuis que le W3C s’est chargé de le standardiser.
Bref, on peut mettre des données dans un fichier XML, et grâce à différentes techniques on est capable de les récupérer, les traiter, les afficher, ajouter des données au fichier… faire des trucs un peu cool dessus ! On s’en sert pour les flux RSS et Atom, pour l’Ajax, on peut l’utiliser comme base de données en PHP et je sais aussi qu’OpenOffice s’en sert pour le format de ses fichiers (.odt, tout ça). C’est utile et utilisé !

Un fichier XML bien formé

Un fichier XML est bien formé lorsqu’il respecte la syntaxe d’XML. Pour vérifier qu’un fichier XML est bien formé, on peut utiliser le validateur de la W3schools. Et d’ailleurs, pour apprendre à créer un fichier XML bien formé, on peut utiliser le tutoriel de la W3schools : Tutoriel XML W3schools.
Exemple de fichier XML bien formé :

<?xml version="1.0" encoding="ISO-8859-1"
<blog>
	<nom>30 minutes par jour</nom>
	<description langue="fr">Un blog qui cause d'informatique 30 minutes tous les jours (ou presque)</description>
	<url type="internet">http://30minparjour.la-bnbox.fr/</url>
	<billets>
		<billet>
			<titre langue="fr">Petit point sur le XML</titre>
		</billet>
		<billet>
			<titre langue="fr">En ce début d'année, faisant le point</titre>
		</billet>
	</billets>
</blog>

Voici un résumé de cette syntaxe :
Continuer la lecture

Envoyer un email en ligne de commandes

Publié dans Geekeries | Laisser un commentaire

Parmi les petites choses inutiles que j’ai appris aujourd’hui (suite à un cours de réseaux), j’ai notamment découvert comment envoyer un e-mail en ligne de commandes. Voici les étapes à suivre. A noter que le serveur renvoie 250 OK quand la commande a réussi.

Se connecter à un serveur telnet

D’après ma compréhension actuel, il faut se connecter sur un serveur telnet pour envoyer un e-mail. Donc est justement ce serveur. Mais y a surement moyen de faire autrement.

telnet <hote> 25

Serveur d’envoi, émetteur et récepteur

correspond tout simplement au domaine qui envoie l’email. Donc pour l’adresse test@testons.fr, c’est testons.fr. Il ne reste plus qu’à préciser l’e-mail de l’expéditeur (qui peut être n’importe quoi), et l’e-mail du récepteur (pour le coup, vaut mieux que ce soit la bonne adresse).

helo <domaine> mail From:<email-emetteur> rcpt To:<email-recepteur>

Contenu de l’e-mail

Il suffit de taper :

data

Le sendMail vous laisse alors le champ libre pour écrire ce que vous voulez. Commençons par l’entête de l’e-mail, en voici un exemple minimaliste.

From: email-emetteur
To: email-destinataire
Date: date de création du message

Il est à noter que l’on peut écrire n’importe quoi comme informations. Elles seront affichés à l’utilisateur, mais cela ne veut pas dire que ces informations sont justes. Mais il est possible de préciser d’autres choses :

Subject: Votre sujet
From: email-emetteur
Reply-To: email à utiliser pour la réponse
Date: date du message
Mime-Version: 1.0
To: email-destinataire
Cc: email-destinataire en copie carbonne

Il y a d’autres choses que je n’ai pas compris :

Received: information sur le chemin suivi
Message-Id: numero@domaine
X-Phone: message_Id
X-Mailer: ?

Bref, laissez une ligne vide et commencez à écrire votre message. Il vous faudra terminer par un point.


J'écris mon message, je suis content !
Super content !
.

Quitter la connexion

Rien de plus simple :

quit

Résumons

Avec tout ça, on peut envoyer un e-mail en ligne de commandes à un utilisateur en utilisant les caractères que l’on veut (sauf dans le sujet) et en précisant ce qu’on veut pour l’émetteur et le serveur d’envoi. Bref, c’est assez fun et ça marche vraiment bien. Reste donc à trouver une parade aux 2 limitations citées plus haut.

En cette fin d’année, faisons le point

Publié dans Informations | Laisser un commentaire

Voilà maintenant presque 7 mois que je me suis lancé dans l’aventure « blog » avec 30 minutes par jour, et j’avoue que j’y prend assez goût. C’est un plaisir de travailler sous Dotclear, et c’est pour moi un bon challenge que d’essayer d’apprendre des choses nouvelles tous les jours. Apprendre n’est pas forcément très compliqué, surtout qu’en 30 minutes, on n’a pas forcément l’occasion d’aller bien loin. Pratiquer est déjà un petit peu plus délicat, cela dit, en général j’apprends des choses qui me sont utiles pour mes « problèmes » du moment (comme dernièrement le billet expliquant comment utiliser plusieurs feuilles CSS sur une même page) donc cela reste dans le domaine du faisable. Mais lorsqu’il s’agit de transcrire ces connaissances sous forme de billets, cela devient légèrement plus difficile. J’essaie de synthétiser les informations, de trouver une manière de les expliquer de telles sortes que cela soit facilement et rapidement compréhensible. (de façon à ce qu’en lisant mon billet, moi, ou un autre lecteur, n’est pas besoin de relire mes 36 000 sources pour comprendre quelque chose) Se pose alors la question cruciale : est-ce qu’il me faut expliquer tout ce que j’ai appris, ou simplement donner les grandes lignes, celles qui permettent de comprendre le reste en se plongeant un peu dans le sujet ? Ces derniers temps, par manque de temps, je pratique surtout la deuxième option. Mais je pense qu’il est bon d’alterner un peu les deux.

J’ai terminé ma série PHP Objet, malgré le fait que je n’ai jamais vraiment terminé (ni même commencé) le projet Doodle Like en PHP Objet. Cela dit, je suis sur un autre projet que je code en PHP Objet, donc on pourra dire que cela fera office de projet de fin de série. Il va d’ailleurs falloir que je commence une nouvelle série, mais j’hésite encore sur le thème à choisir. JQuery (la doc manque cruellement en français sur Internet, enfin, de ce que j’ai pu voir), Java, CSS3 et son ami HTML5… Je m’accorde encore un peu de répit pour me décider.

Avec tout ça, j’arrive quand même à écrire une moyenne de 2 billets par semaine. En théorie il m’en faudrait 5. Ce résultat ne me convient donc pas forcément, mais c’est déjà ça.

Quant à la fréquentation des visiteurs, elle a un peu augmenté depuis le mois de Mai, puisque c’est maintenant une douzaine de personne par jour qui visitent le site. En majorité de nouveaux visiteurs (70%), qui proviennent généralement des moteurs de recherche (78%), bref, rien d’étonnant.

Donc mes résolutions pour cette nouvelle année :

  • Finir la série PHP Objet avec mon projet de fin de série
  • Démarrer une nouvelle série
  • Écrire un peu plus souvent des billets
  • Continuer à améliorer le blog dès que je trouve le temps

Et puisque je n’aurai pas l’occasion de le dire le jour J : bonne année 2010 et meilleurs vœux !

Plusieurs CSS sur une seule page

Publié dans HTML et CSS | Laisser un commentaire

J’ai découvert aujourd’hui comment appliquer plusieurs feuilles de styles sur une seule et même page. J’avais essayé plusieurs fois sans réel succès, pourtant cela peut être très pratique pour séparer son code.

Un fichier CSS sur une page

<link rel="stylesheet" type="text/css" href="fichier.css" />

Pour proposer des designs alternatifs, on emploie le mot clef alternate.

<link rel="alternate stylesheet" type="text/css" title="Titre du design" href="fichier1.css" /> <link rel="alternate stylesheet" type="text/css" title="Autre titre du design" href="fichier2.css" />

C’est le premier qui sera utilisé par défaut.

Plusieurs fichiers CSS sur une page

<link rel="stylesheet" type="text/css" href="fichier1.css" />
<link rel="stylesheet" type="text/css" href="fichier2.css" />

Mais en utilisant les titres, on peut aller plus loin. L’exemple suivant utilisera les designs ayant pour titre « compact » et le design persistant (sans titre) commun.css. Mais l’utilisateur peut sélectionner les designs « beautiful », ce qui appellera aussi le design persistant.

<link rel="alternate stylesheet" type="text/css" title="compact" href="fichier1.css" />
<link rel="alternate stylesheet" type="text/css" title="compact" href="fichier2.css" />
<link rel="alternate stylesheet" type="text/css" title="beautiful" href="fichier3.css" />
<link rel="alternate stylesheet" type="text/css" title="beautiful" href="fichier4.css" />
<link rel="stylesheet" type="text/css" href="commun.css" />

Pour aller plus loin

On peut noter qu’il est possible d’utiliser une balise méta ou un header pour préciser le ou les fichiers CSS à afficher par défaut :

<meta http-equiv="Default-Style" content="compact" />
<?php
header(Default-Style: "compact");

Merci le W3C sur Lagrange !

Joyeux Noël

Publié dans Informations | Laisser un commentaire

Il me semble que c’est de circonstance :

Ne geekez pas trop devant votre ordi !

Des bords arrondis, sans images, avec les CSS3

Publié dans HTML et CSS | 2 commentaires

Je suis actuellement en train de faire le design d’un nouveau site, et pour la première fois, je me suis amusé un petit peu avec les CSS 3. Je n’ai utilisé que des bords arrondis (border-radius), et des effets d’ombres (box-shadow), et je suis impressionné par ce que l’on peut faire en quelques lignes. Quand je pense aux transitions, aux couleurs RGBa (pour gérer la transparence facilement), les arrières-plans multiples, j’ai vraiment hâte que les navigateurs l’implémentent ! Il est déjà possible de tester un rendu temporaire en utilisant les préfixes -moz- (pour Firefox), et -webkit- (pour Safari et Google Chrome), et sans préfixe pour Opéra à partir de la version 10.5 . Pour Internet Explorer, il faut se rabattre sur les créations anciennes ou nouvelles des développeurs de Microsoft, qui, quand elles existent, ne suivent pas de standard particulier. Welcome in the real world!

Un peu d’arrondi pour la douceur

Nous allons commencer par voir comment réaliser des bords arrondis sans utiliser d’images. Et en ajoutant une petite image pour la déco quand même, on va créer la chose suivante :


Continuer la lecture

Où trouver des idées de design XHTML/CSS ?

Publié dans HTML et CSS | Laisser un commentaire

Une chose que je remarque de plus en plus est que je la partie la plus délicate, pour moi, lors de la création d’un site Internet (et dans une moindre mesure, d’une application) est la phase de design. Parfois j’ai quelques idées en tête, mais même avec ça, je galère vraiment à trouver quelque chose de jolie… Je ne dois pas avoir la fibre artistique, le sens des couleurs, ou je ne sais. Je crois n’avoir réussi l’exploit de faire quelque chose de jolie (et encore, c’est subjectif) que pour un seul site, mon site perso La Bnbox. A l’époque j’ai du avoir une sorte d’inspiration, et ça a roulé comme sur des roulettes. J’étais vraiment fier, même si aujourd’hui c’est un peu passé de mode et un peu trop bleu, blanc et statique à mon goût. Mais bon, de l’eau à passer sous des ponts depuis le temps…

La Bnbox v3

Une autre chose que je remarque c’est que si on me file un psd (format Photoshop) ou une image d’un design, je suis tout à fait capable de transcrire tout ça en XHTML et en CSS, en créant les images ou non. Bref, je suis plus intégrateur Web que Designer Web. Mais je crois que je préfère encore le développement.
Continuer la lecture

Bordure beurk cyan sous Windows Vista

Publié dans Geekeries | Laisser un commentaire

En faisant un imprim ecran pour les besoins de mon dernier billet, je me suis rendu compte que dans le thème par défaut de Vista, une fenêtre séléctionnée se voit parée d’une merveilleusement horrible bordure couleur Cyan en bas et à droite. Regardez plutôt :
Bordure beurk cyan
Je trouve cela relativement hideux. Et malheureusement, ça le fait pour toutes les fenêtres. Mince, Steve Jobs avait vraiment raison en disant qu’ils n’ont aucun goût chez Microsoft… Heureusement, cette bordure beurk a disparu sur Windows 7 ! [sarcasme]Y a pas à dire, ils ont vraiment fait des progrès entre ces 2 versions.[/sarcasme]

Où trouver des templates pour LibreOffice Impress

Publié dans Geekeries | 5 commentaires

S’il y a un truc que j’apprécie vraiment dans PowerPoint 2007, c’est le nombre de modèles de présentation possible, pour une fois c’est généralement vraiment bien fichu, et assez joli (En fait, je trouve que Microsoft a vraiment assuré avec Office 2007). Une chose qui m’embête vraiment, c’est le manque certain de jolis modèles sous OpenLibreOffice Impress. De bases, l’assistant de présentation nous propose 4 templates un peu moche (il y en a beaucoup plus sur ma version Linux, et à ma connaissance je n’en ai jamais ajouté d’autres…), bref, pas cool.

OpenOffice Impress

OpenOffice Impress : choisir un template au démarrage

Installer un template pour LibreOffice Impress

Heureusement, vu qu’Office 2007 c’est quand même cher, et que LibreOffice, c’est quand même pas mal, il est possible de rajouter des templates ou arrières plans à LibreOffice Impress. Pour cela, il faut ajouter un fichier .odt (ou .odp, mais ça ne fonctionne pas toujours) dans le dossier : /Basis/share/template/fr/layout pour les arrières plans de présentations, ou /Basis/share/template/fr/presnt pour les présentations, bref, au feeling quoi !

LibreOffice - Dossier Layout
Ah j’oubliais, j’ai testé tout ça sous OpenOffice 3, donc ça ne marchera peut-être plus si on en est à LibreOffice 15, sauf s’ils sont passés au même cycle de développement que Mozilla pour Firefox 😉 (Avertissement : cette blague n’est pas à ressortir dans un milieu non-geek)

Maintenant, la question est de savoir où trouver de jolies templates pour Impress…

Trouver des arrières plans pour LibreOffice Impress

J’ai fait des tests en tapant « openoffice impress template » et « openoffice impress arrière plan » sur Google (et les variantes avec « libreoffice »), et je suis arrivé à quelques résultats. Beaucoup de templates sont très laids, mais il est quand même possible d’en trouver quelques uns de pas trop mal.

N’hésitez pas à commenter si vous avez trouvé d’autres ressources ou que de nouvelles apparaissent !

Idées pour créer son propre template

Comme on n’est jamais mieux servi par soi même, je pense qu’un de ces quatre, je créerai mon propre template (en copiant surement un des nombreux jolis de PowerPoint 2007) . Un tutoriel PDF donnant quelques techniques : Doc OpenOffice.

Grub

Configurer Grub

Publié dans Geekeries | Laisser un commentaire

Je me suis acheté un tout nouvel ordinateur portable récemment. Un truc un peu costaud qui me permet de faire tourner Eclipse et d’écouter de la musique en même temps. Du coup, je passe un peu de temps à le configurer selon mes besoins et j’ai notamment dû réinstaller plusieurs fois Ubuntu suite à de mauvaises manipulation de ma part, ou à cause de choses qui ne me convenaient pas au niveau de mes partitions. Bref, ça m’a permis de configurer plusieurs fois Grub, et donc de faire quelques tests
Pour modifier l’OS se chargeant par défaut dans Grub, et configurer la liste des OS qui s’affichent, il faut modifier le fichier /boot/grub/menu.lst. Vu qu’il faut avoir des droits d’administrateurs pour modifier ce fichier, le plus simple est de taper dans un terminal : sudo vim /boot/grub/menu.lst ou sudo gedit /boot/grub/menu.lst.

Configurer la liste des OS

Tout en bas du fichiers se trouve la liste des OS qui s’affichent. Pour ma part, j’ai enlevé le « memory test » d’Ubuntu et j’ai customisé un peu les noms (Windows Vista (loader) deviens Windows 7. Je crois que je me suis fait avoir sur la marchandise… Windows 7 ressemble autant à Windows Vista que Firefox 3.5 à Firefox 3, ça devient n’importe quoi…).

OS par défaut

Quelque part dans le fichier, se trouve une ligne contenant : default 0. Il suffit de changer le 0 par le numéro de l’OS (son ordre dans la liste) dans la liste d’OS tout en bas.

On commence à compter à partir de 0.

  • le premier OS est en général la distribution Linux
  • ensuite il y a le recovery mode de Linux
  • le memory test
  • une ligne « Other operating system »
  • et enfin Windows. Donc Windows est le numéro 4. (oui, la ligne « Other operating system » compte pour 1)

Rien de très compliqué. En fouillant dans le fichier, il y a moyen de modifier le temps d’attente, etc. Ce que j’aimerai tester, c’est de mettre Windows en première position. Je teste et j’en reparle.