mercredi 12 octobre 2011

jQuery : Auto Margin sur des div en float.

Après de multiples recherches sans succès pour faire ça en pur CSS, voici un code jQuery permettant de régler les margin-left et margin-right sur des div de même taille en float.

L'idée est de retrouver le comportement d'une table (éléments centrés dans les td) tout en acceptant un nombre maximum d’éléments par ligne affichée selon la résolution de l'écran (ou plus généralement de la taille de la fenêtre).

Il faut créer une div principale (ici bodyContainer) dans laquelle vous placez vos div à center.

Code HTML: 
[div id="bodyContainer"]
  [div class="mosaicDiv"]Texte1[/div]
  [div class="mosaicDiv"]Texte2[/div]
  [div class="mosaicDiv"]Texte3[/div]
  [div class="mosaicDiv"]Texte4[/div]
  [div class="mosaicDiv"]Texte5[/div]
  [div class="mosaicDiv"]Texte6[/div[
  [div class="mosaicDiv"]TexteN[/div[    
[/div]
note: remplacer [] par <>

Code CSS :
#bodyContainer{width:100%;}
.mosaicDiv{position:relative; float:left; width:300px; background-color:blue; color:white;}


Code JavaScript (jQuery)
function doMosaic() { 
  var nbElt = $("#bodyContainer > div").size();
  if (nbElt >= 1) {
    var eltWidth = $("#bodyContainer div:first-child").width();
    var scrWidth = $("#bodyContainer").innerWidth();
    var nbEltMax = Math.floor(scrWidth / eltWidth);
    var eltUsed = (nbElt > nbEltMax) ? nbEltMax : nbElt;
    var availWidth = scrWidth - (eltUsed * eltWidth);
    var margin = Math.round((availWidth / eltUsed)/2)-eltUsed;
    $("#bodyContainer > div").css("margin-left",margin);
    $("#bodyContainer > div").css("margin-right",margin);
  }
}
J'imagine que vous pourrez faire plus court.

Il vous suffit ensuite de lier ce code à votre page principale pour obtenir un réglage lors des resize :
$(window).resize(function() {doMosaic();});

Si quelqu'un a une solution full CSS, je suis preneur...

jeudi 14 avril 2011

Gestion autonome des listes de distribution Outlook / Exchange 2010.

Afin de donner la possibilité à un utilisateur de gérer une liste de distribution via Outlook sur des comptes sous Exchange 2010 :

- Se connecter au serveur Active Directory.
- Ouvrir la console de gestion de l'Active Directory.
- Trouver votre liste de distribution puis cliquer sur "Propriétés"
- Aller dans l'onglet "Gérer par"
- Choisir votre utilisateur.
- Cocher la case "Le gestionnaire peut mettre à jour la liste des membres"
- Cliquer sur OK.



Il est possible que ce droit prenne un peu de temps à s'appliquer si votre AD est répliqué.

jeudi 10 juin 2010

Supprimer / Désactiver l'image de fond du site Google !

J'ai les yeux qui me piquent à cause des images de fond que Google à décidé de nous infliger toute la journée. A tel point que je vous ai fait une image monochrome grâce à laquelle vous pouvez chasser les visuels agressifs de Google ! (Affichez l'image à sa taille d'origine en cliquant dessus puis enregistrez-la sur votre ordinateur)


Pour l'appliquer à votre page Google, sur le site Google c'est en bas à gauche que ça se passe.

Aller ! Bon courage pour la soirée, théoriquement cette atrocité doit se terminer demain !

mercredi 19 mai 2010

Doctrine + Zend + Smarty : Le PHP Pro ?

Je viens de commencer à étudier la doc de Doctrine (http://www.doctrine-project.org/) un ORM pour PHP sinon l'ORM pour PHP et j'avoue être bluffé par le projet. On se trouve devant quelque chose de très pointu et de très bien pensé, couplé avec Zend pour la partie MCD et à Smarty/jQuery pour un rendu souple en HTML5 par exemple, ces outils font de PHP un langage vraiment performant et déjà taillé pour de la production industrielle.

Une question reste, les grands dirigeants prendront-il le risque en cette période difficile de passer vers du full-web ? Les économies évidentes avec ce type de solution, tout en s'orientant vers une architecture des projets toujours plus "professionnel" devraient tout de même les guider dans leurs choix.

Évidement on utilise pas le ZF ou Doctrine pour des petits projets...

D'ailleurs, tant que j'y suis, Google donne un coup de pouce à Eclipse !

vendredi 23 avril 2010

Adobe Reader 9.3.2 compatible TSE 2008 x64 !

Je viens de tester la nouvelle version d'Adobe Reader sur un serveur 2008 TSE x64 et ça fonctionne très bien !

Voici la procédure pour empécher les mises à jour de se faire (ce qui a le don de perturber ma centaine d'utilisateur)

1) Installer adobe à partir du site Internet d'Adobe : http://get.adobe.com/fr/reader/otherversions/
2) Vérifier éventuellement la présence d’une mise à jour une fois le fichier installé.
3) Installer éventuellement la MAJ et redémarrer la machine.
4) Dans le répertoire d’installation, créer un dossier « plug_ins-disabled »
5) Copier les fichiers « Updater » et « Updater.FRA » du dossier « plug_ins » vers le dossier « plug_ins-disabled »
6) Dans le répertoire d’installation, renommer le fichier « reader_sl.exe » en « _reader_sl.exe »
7) Dans le répertoire d’installation, renommer le fichier « AdobeUpdater.dll » en « _ AdobeUpdater.dll »
8) Lancer Acrobat Reader et vérifier que les mises à jours ne se font plus.

Hope it Helps !

vendredi 26 mars 2010

KISS !

Non je ne suis pas devenu fan sur le tard de ce groupe de musique, mais plutôt de l'acronyme : "Keep It Simple Stupid !"

Pour cela et à ceux qui chercheraient comme faire j'ai ces quelques adresses !
- Smarty : http://www.smarty.net/
- jQuery : http://jquery.com/
- AjaxUpload : http://valums.com/ajax-upload/

Autant je ne suis pas pour faire ce qui a déjà été fait, autant je suis pour rester maitre de sa solution et donc me passer autant que possible des Frameworks souvent optus.

Les Frameworks c'est bien, ne pas se construire sa solution dessus c'est mieux ! Ces quelques adresses suffisent la plupart du temps pour réaliser votre solution web. Pour le reste c'est sur vous qu'il faut compter ! Après tout, c'est pour cela que votre travail est reconnu pour sa créativité et son efficacité... et c'est aussi pour cela qu'on vous paye !

Alors faites comme moi et gardez votre code sous contrôle !

mercredi 24 mars 2010

Serveur d'impression PHP

Je suis actuellement en train de réaliser un serveur d'impression PHP.

Les specs :
- Gestion des imprimantes thermiques
- Gestion des bacs pour les imprimantes laser
- Gestion simultanée des travaux d'impressions
- Spooler d'impression déporté.

Le tout développé dans l'optique d'une utilisation en ligne, pouvant être adaptée aux serveurs PHP locaux.

Les documents seront générés sous 2 formats par le site :
- EPL/ZPL : Source des imprimantes thermiques
- PDF : Reportings et autres documents.

Pour les documents thermiques (générés via ZebraDesigner), les éditions seront directement envoyés vers l'imprimante contenue dans le job. Pour les PDF, il passeront à travers l'outil "pdftops.exe" (multiplateforme) du package XPDF avant d'être éventuellement modifiés pour changer le bac d'impression par la directive :


Le tout sera biensûr multitâche afin d'éviter qu'une édition de 100Mo qui est en cours de téléchargement ne vienne perturber l'impression d'une étiquette thermique.

Voilà donc une brève présentation de ce projet, je posterais les sources dès que je l'aurais terminé, je pense que ça peut en intéresser certains d'entre vous. J'espère cependant pouvoir déposer un schéma de fonctionnement un peu plus poussé d'ici peu.

Stay tuned !