PaulDib/ppt-forgery — pull request #11 by PaulDib (2014-10-12 09:57:32+00:00)
Title: Generating powerpoint file.

Je crée la PR un peu avant d'avoir terminé le taff histoire qu vous puissiez commencer a lire.

J'ai wrappé libopc (une lib pour manipuler les packages OpenXml, donc les fichiers office) dans une classe qui s'apelle OpcFacade.
Le minimum d'info a savoir sur openXml pour comprendre:
- un fichier openXml office (type pptx, docx) est enfait un dossier zippé qui contient des fichiers xml (vous pouvez dezipper un fichier `.pptx` et vous verrez les fichiers xml) et des fichiers binaires (type `.jpeg`)
- les fichiers xml et binaires sont appelés des `parts` et décrivent chacun un type d'élément du fichier (par exemple, un `pptx` contient des fichiers `slide1.xml`, `slideLayout1.xml` etc)
- les `parts` sont liées les unes aux autres par des `relations` (qui decrivent par exemple des relations comme "cette slide contient cette image")

A partir de ces infos j'ai determiné le plus petit package necessaire pour obtenir un fichier `.pptx` qui s'ouvre sans provoquer d'erreur sur powerpoint.
La classe `PowerpointPackage` permet d'ecrire ce package minimal. La classe `PowerpointPackageBuilder` crée un `PowerpointPackage` a partir d'un template (en gros, on importe les parties d'un fichier `.pptx` existant et on crée un nouveau fichier) A priori, cela permettra de customiser le powerpoint généré en modifiant le fichier template.

**Reste a faire**
Fonctions pour insérer des slides dans la presentation.