MOSS 2007 : Multi-linguisme

Do you speak moss the most ?
Comment créer un site en plusieurs langues sous MOSS ?
Voici les étapes à suivre, pour la création d’un site simple, à partir de zéro :

  • Définir toutes les langues qui seront utilisées, et installer les Language Pack adéquats dans la ferme SharePoint.
  • Créer son app. web + la collection de site associée (de modèle publication). C’est au moment de la création de la collection de site que la langue principale est choisie.
  • Dans le site : Créer une première étiquette de variation (la principale, par ex le français).
  • Générer la hiérarchie.
  • Construire son site sur la variation principale.
  • Puis enfin créer les étiquette de variantes (en choisissant les langues adéquates) et générer la hiérarchie.
  • Reste à traduire les contenus dans les n variations créées.

Quelques remarques :

  • Une variation n’est qu’un sous-site synchronisé avec un site principal (la variation principale).
  • Par synchronisation, il faut comprendre que si il y a une modification, les auteurs des sous-sites variants seront alertés (workflow).

Pour en savoir plus sur les variations, voir cet article en deux parties :
Les variations – Page 1
Les variations – Page 2
Egalement trouvé sur un forum, cette bonne synthèse .

Installer un serveur SFTP

Pour échanger des fichiers en toute sécurité…
Le cahier des charges était simple : Echanger avec l’extérieur des fichiers de manière sécurisée.
Après quelques recherches, je suis tombé sur ce logiciel : MySecureShell.
Fonctionnant sous tout système UNIX, il s’agit d’un shell qui utilise OpenSSH (pré-requis d’installation).
Cependant, une installation sous Solaris est plus complexe que prévue (des scripts livrés contiennent des incompatibilités par exemple).
Plus de détails ici : Site MySecureShell.
L’installation complète se fait en 5 étapes :

  • Vérification des pré-requis, voire leur installation
  • Compilation (configure, puis make)
  • Installation (placer les binaires au bon endroit)
  • Configuration (éditer un simple fichier)
  • Créer des comptes utilisateur associés au shell MySecureShell : adduser -s /usr/bin/MySecureShell user1

Un seul port est nécessaire pour les communications (port 22), et WinSCP s’avère être un très bon client SFTP (alors que Filezilla n’est pas conseillé).

Aide-mémoire commandes UNIX

Rechercher un fichier : find répertoire -name "nom_du_fichier"
« nom_du_fichier » peut contenir des caractères jokers comme * ou ?
Rechercher les fichier qui contiennent une chaine de caractères : find ./ -name "*.xml" -exec grep "ma_chaine" {} ; -print
Ici on recherche tous les fichiers d’extension .xml contenant le mot ma_chaine
Suivre l’évolution de l’écriture dans un fichier : tail -f nom_du_fichier
Editer un fichier : vi nom_du_fichier

  • « Echap » -> Passage en commandes
  • « i », « a » ou « o » -> Passage en édition
  • Commande « x » -> Suppression caractère
  • Commande « G » -> Fin du fichier
  • Commande « $ » -> Fin de la ligne
  • Commande « 0 » -> Début de la ligne
  • Commande « dd » -> Couper la ligne
  • Commande « :w » -> Sauver
  • Commande « :q » -> Quitter
  • Commande « :wq » -> Sauver et quitter

Supprimer les retours chariot DOS d’un fichier : sed ’s/^M$//’ nom_du_fichier
(Faire ^M avec [CTRL + V puis + M])

Tâches difficiles ? Utilisez le Windows Install CleanUp

Comment rattraper une désinstallation hasardeuse…
Un jour j’ai eu la bonne idée de désinstaller « à la main » un JDK… (c’est à dire supprimer tout le contenu du répertoire où le JDK était installé).
Ce n’est pas bien me direz-vous… Soit ! Mais ma mauvaise conduite fut punie : impossible de réinstaller un nouveau JDK. Le programme d’installation pense qu’il y en a toujours un d’installé. Il essaie de le désinstaller, mais il n’y arrive pas ! (rien en base de registre et même à coup de CCleaner!)
Heureusement, il existe le produit miracle : le Windows Install CleanUp
Cette petite chose de 40 kilo permet d’effacer les traces de programmes à « Ajouter/Supprimer » (Windows Installer).
Techniquement, je ne sais pas comment ça fonctionne, mais ça m’a sorti de cette galère…
Lien : Windows Install CleanUp

MOSS : Un bon outil de stats

Voici un outil très simple à déployer et qui permet d’avoir des stats bien plus sympa que l’outil natif de MOSS :
http://www.mapilab.com/download/
(c’est un freeware, il suffit de s’inscrire)
Entre autres :

  • Exports PDF
  • Stats sur les recherches les plus fréquentes
  • Temps de consultations
  • Présentations sous forme de courbes, tableaux (avec tris et groupement…)
  • etc……..

Petit détour vers Linux

Installation d’un serveur web JAHIA sur une distribution Fedora pour un newbie en la matière.
A part quelques commandes du bash, et des TP durant ma vie étudiante, je n’ai pas beaucoup mis les pieds dans le fussoir Linux.
Là, ça y est, je dois installer une appli web (Jahia) sur un serveur Fedora 9.
C’est parti, je « tweet » en live :

  • Installation de fedora sous WMWare : super simple.
  • Tiens, au lancement, Fedora me lance un « Kernel Failure »… Je dois répondre « toujours », « oui », « non », « jamais ». Bon ben « jamais » alors 🙂
  • Déjà, Fedora, c’est quoi ? On s’en fout, c’est un bastringue dont le noyau est Linux.
  • Le terminal : aussi planqué que la console sous windows.
  • Connaitre son adresse IP sous bash : ifconfig.
  • J’essaie de partager des fichiers entre mon hôte windows et fedora… Galère.
  • Samba (j’avais déjà entendu ce nom là qq-part !) refuse de monter quoique ce soit.
  • Je comprends rien, je ne ping rien… Même pas mon hôte.
  • CA Y EST ! J’ai réussi à copier un fichier de mon hôte windows à fedora :
    – J’ai mis mon VMWare en network « host-only »
    – J’ai créé un dossier partagé sous windows, avec comme permission « Tout le monde »
    – J’ai ouvert un « Poste de travail » sous fedora, puis fait « Fichier > Ouvrir un emplacement »
    – J’ai taper : "smb://xxx.xxx.xxx.xxx/nom_du_dossier_partage_sous_windows" (avec « smb » comme Samba)
    – On me demande un login, mot de passe : je remplis avec mon compte de connexion windows
    – Et voilà, j’accède au contenu du dossier !
  • NB : xxx.xxx.xxx.xxx = l’adresse IP du network adapter créé par VMWare (faire ipconfig sous windows).
  • – Déclarer une variable d’environnement : export MA_VAR=ma_valeur
  • – Faire set pour avoir la liste des variables.
  • – Installation de JDK : Impecc’ ! Ce sont des fichiers .rpm.bin, qui se lance avec un simple sh.
  • – Installation de Jahia : tout aussi simple.
  • – Lancement de Jahia : il faut se mettre dans le bon dossier, sinon le .sh se perd dans les tréfonds de l’arborescence lol
  • – Et bam, catalina.sh = accès refusé. Je ressors mes cours de chmod 🙂 (chmod +x catalina.sh et c’est réglé.)
  • Mon site existe bien sur http://localhost:8080.

Mission accomplie 🙂

Javascript : fonction isNumeric

Inspiré de cette page. J’y ai ajouté la vérification qu’il n’y ait qu’un seul point « . ».

function isNumeric(sText)
{
        var sValidChars = "0123456789.";
	var isNumber = true;
	var iNumDots = 0;
	var c;
	for (i = 0; i < sText.length && isNumber == true; i++)
	{
		c = sText.charAt(i);
		if (c == ".") iNumDots++;
		if (sValidChars.indexOf(c) == -1
				|| iNumDots > 1)
		{
			isNumber = false;
		}
	}
	return isNumber ;
}

JAVA : Trier un HashMap (sur la clé)

Inspiré de cette article en anglais.
Dans le cas d’un tri sur la clé, la meilleure solution consiste à utiliser un TreeMap<k, B>.
1ère étape : créer un comparateur. Ici, la clé de mon HashMap est de type MaClasse. On veut trier sur l’attribut MaClass.monChamp.

private Comparator monComparer = new Comparator()
{
	@Override
	public int compare(MaClasse o1, MaClasse o2)
	{
		return o1.monChamp.compareTo(o2.monChamp);
	}
};

2ème étape : créer (pourquoi pas) une fonction qui trie un HashMap non trié…

public HashMap<maClasse, ClasseQuelconque> TrieMoiCeHashMap(HashMap<maClasse, ClasseQuelconque> listeNonTriee)
{
	Map<maClasse, String> listeTriee = new TreeMap<maClasse, String>(monComparer);
	listeTriee.putAll(listeNonTriee);
	return listeTriee;
}

Elémentaire !