Les fonctionnalités de IGG
- IGG est un script TCL, un langage interprété multi-plateforme dont la syntaxe est très minimaliste. Contrairement à d'autres langages interprétés, il est donc plus facile à appréhender tout en étant aussi performant pour les besoins de IGG. IGG génère donc le code HTML des pages constituant un album;
- l'esthétisme étant un critère important pour moi (j'attend d'avoir le temps de refondre le style de cette page qui m'exaspère ;-)) ), IGG devait donc disposer de thèmes graphiques, avec la possibilité pour un utilisateur de générer facilement son ou ses propres thèmes. C'est la raison pour laquelle IGG utilise au mieux les capacités des feuilles de style CSS et dispose d'une interface graphique en Tk;
- la plupart des programmes gratuits générant des albums que j'ai trouvé sur le web sont destinés à l'international, mais ne semblent pas gérer les caractères accentués. Cela a constitué un point essentiel de IGG, qui gère la plupart des accents minuscules HTML européens dans les 4 normes d'encodage les plus courantes : macRoman, iso8859-1, utf-8 et utf-16;
- les appareils photos numériques permettent maintenant d'acquérir des vidéos. Il me semblait donc adéquat qu'IGG soit capable de les insérer dans les albums.
La gestion progressive de la norme CSS3 permettra de simplifier les structures présentées ci-dessous, à l'aide notamment des propriétés border-image et/ou background-size. Les propriétés box-shadow et border-radius permettront quant à elles de développer des thèmes plus agréables encore et en 100% CSS.
Thèmes graphiques : les familles
Chaque famille possède sa propre structure de la page d'accueil de l'album (celle des miniatures)
hStripesFamilyTheme
Les photos sont disposées en bandes horizontales:
Pic1 | Pic2 | Pic3 | Pic4 |
SpaceCellsWithoutImgBordersFamilyTheme
Cette famille est la plus standard : les images sont présentées dans un tableau et possèdent une bordure définie par les attributs CSS.
SpaceCellsWithEightImgBordersFamilyTheme
La bordure des photos pour cette famille de thème est composée de 8 éléments :
- 4x1 pour chacun des coins, inséré par une balise img;
- 4x1 pour chaque bord, inséré en attribut CSS d'image d'arrière plan pour la périodicité.
Img_TL | bg_T | Img_TR |
Bg_L | Pic | Bg_R |
Img_BL | bg_B | Img_BR |
SpaceCellsWithTwelveImgBordersFamilyTheme
Cette fois, la bordure sera composée de 12 images. Les 4 images supplémentaires viennent d'une décomposition différentes pour les bords gauche et droit. Les 12 images sont donc réparties comme suit :
- 4 pour les coins, insérées par une balise img;
- 4 pour les extrémités des bords gauche et droit, insérées par une balise img;
- 4 pour le reste des bords, inséré en attribut CSS d'image d'arrière plan pour la périodicité.
Img_TL | Bg_T | Img_TR |
Img_LT | Pic | Img_RT |
Bg_L | Bg_R | |
Img_LB | Img_RB | |
Img_BL | Bg_B | Img_BR |
SpaceCellsWithSixteenImgBordersFamilyTheme
Par rapport à la famille précédente, nous avons 4 images supplémentaires, la même décomposition étant ici réalisée pour les 4 bords. Les 16 images sont réparties comme suit :
- 4 pour les coins, insérées par une balise img;
- 8 pour les extrémités des bords, insérées par une balise img;
- 4 pour le reste des bords, inséré en attribut CSS d'image d'arrière plan pour la périodicité.
Img_CTL | Img_TL | Bg_T | Img_TR | Img_CTR |
Img_LT | Pic | Img_RT | ||
Bg_L | Bg_R | |||
Img_LB | Img_RB | |||
Img_CBL | Img_BL | Bg_B | Img_BR | Img_CBR |
SpaceCellsWithOverLayerImgBordersFamilyTheme
Cette famille est basée sur le principe des calques gérés en CSS, permettant ainsi d'avoir des bordures fantaisistes qui rognent sur les photos, en les ajoutant par dessus dans un tableau. On peut dans ce cas définir l'intégralité d'une bordure par 8 éléments.