Archive pour la catégorie ‘Modèle de données’

If you’re to nail CSS, Less is more – part 3 : mixins, client and server side

So, we’re here. We now know how to create a neat Less file that will generate the CSS file we want, we know how to use variables, how to nest styling rules and how to set up the watch mode on our browser. We still have a couple of things to see before we start talking about the console and the Less compilation : we need to talk about mixins, client-side and server-side. Lire la suite de cette entrée »

En finir avec le répertoire Word et attaquer la conception

Comme je vous l’avais promis, nous allons maintenant en finir avec le répertoire word/ et attaquer laconception (bon, ok, on va aussi parler des relations, mais pour le coup ça ira très vite). Il nous reste à parler des fichiers suivants : styles.xml, webSettings.xml et theme/theme1.xml, alors allons-y.

Lire la suite de cette entrée »

La gestion d’un RIB ou d’un IBAN en PHP

On va se sortir un peu la tête du dossier Word et docx le temps d’un petit article pour discuter d’un grand classique, la gestion d’un RIB, d’un IBAN, bref d’un compte en banque, en PHP. On va tout de suite dire de quoi il ne s’agit pas : il ne s’agit pas d’un bête CRUD dans lequel on enregistre les différents champs et on n’en fait rien, pas besoin d’un article pour ça. Non, ce qu’on va faire, c’est enregistrer les informations RIB ou IBAN, en validant ces infos dans la foulée (grâce à la célèbre clé RIB) et en nous conformant aux spécifications liées à ce format très standard et très normalisé (donc très courant) d’information. Au final, on aura un petit package facile à emporter avec nous sur d’autres projets.

Lire la suite de cette entrée »

Générer un document Word docx en PHP, comprendre le répertoire word

Bon, promis, c’est le dernier article purement verbeux du dossier avant d’attaquer le code à proprement parler et, tout autant promis, je ne vous ferai pas attendre des plombes avant le prochain numéro. On va aujourd’hui se consacrer au contenu du répertoire word/ qu’on trouve dans un fichier .docx, on va voir ce qui sert à quoi et, notamment, ce qu’on devra par la suite recomposer from scratch (ou non).

Lire la suite de cette entrée »

Générer un document word en PHP, pour de vrai

Nous voici arrivés au bout du chemin, au commencement…d’un nouveau chemin (et un long !). Nous avons vu comment faire une génération de documents Word à partir de modèles, nous avons vu comment insérer des images, nous pouvons de même créer des tableaux, souligner, mettre des entêtes, des pied-de-pages, etc. Il est maintenant grand temps d’avancer et de créer, pour de vrai, from scratch, des documents Word modernes, au format docx (donc notamment compatibles avec Apple Pages et OpenOffice Write).

Lire la suite de cette entrée »

Insérer une image dans un fichier Word généré

Nous y voilà ! Jusqu’à maintenant, on s’est bien amusé, mais on n’a pas encore fait grand chose… Du simple rechercher/remplacer, en fait; on a profité du fait que, avec l’ouverture des fichiers Word au format XML, le contenu des fichiers Word est devenu complètement lisible. Bon, ok, ce n’est pas tout à fait vrai, il a fallu jongler un peu avec les tableaux…

Mais là, vous allez voir ce que vous allez voir, nous allons maintenant insérer des images dans les fichiers Word, et j’aime autant vous dire d’emblée deux choses :

  1. ce n’est pas, a priori, une affaire simple;
  2. il est très facile de ne pas optimiser la chose…

Lire la suite de cette entrée »

Générer un document Word depuis un modèle

Le cadre est donné, nous allons maintenant voir comment il est possible de générer dynamiquement un document Word, en PHP, depuis un fichier modèle. Pour cet article, nous prendrons comme exemple un facture qu’il faut générer dynamiquement. Nous sommes tous d’accord pour dire que, dans l’absolu, une facture est le pire exemple possible…
En effet, qui souhaite envoyer à l’un de ses clients une facture en Word, format largement éditable et modifiable ?

Ceci étant, je peux d’un simple revers de la main anéantir cet argument en disant, par exemple, que je souhaite pouvoir ajouter un petit message personnalisé à chacun de mes clients.

Plus sérieusement, une facture est un document quasi-universellement reconnu, quel que soit le métier qu’on exerce, et cela constitue donc bien, selon moi, un exemple parfaitement pédagogique. Lire la suite de cette entrée »

Générer un document Word dynamiquement, en PHP

Le sujet est explicite, simple, connu et sérieux. Vous développez un outil de gestion pour un de vos clients, et ce dernier souhaite que votre application puisse générer des documents; en développeur moderne que vous êtes, vous êtes naturellement parti du principe que les modifications doivent s’opérer directement dans l’application, et que vous pouvez donc exporter tranquillement en PDF à l’aide d’une des nombreuses librairies disponibles pour ce faire (FPDF, HTML2PDF, HTML2PS, etc.).

Or, il s’avère que votre client veut pouvoir modifier ces documents en-dehors de l’application (le bougre); dans certains cas, vous pourrez le ramener facilement à la raison (pour la facturation : « Comment, mais vous ne vous rendez pas compte !! Une facture est une pièce comptable, et vous ne pourrez plus garantir l’intégrité de votre comptabilité s’il est possible de modifier une facture en dehors de l’application… »).

Dans d’autres cas, en revanche, votre partie est perdue d’avance, et le client veut pouvoir rajouter des mots doux à l’intention des destinataires, sans pour autant que cela figure dans l’application. Du coup, vous bataillez pour une sortie txt, rtf…rien n’y fait; votre client veut du MS Word, et puis c’est tout.

Bienvenue dans le monde désenchanté de la génération dynamique de fichiers word en PHP (ben oui, en .NET, ce serait évidemment trop facile).

Lire la suite de cette entrée »