Catégories
Open-source Web

Liferay Portal – Open Source

Liferay est un portail J2EE open source conforme à la norme JSR-168 de sun, et tournant sur la majorité des serveurs d’applications existants.
Liferay en est à sa 8e année de développement, et utilise les dernières technologies J2EE de pointe telles que Spring, Struts, JSF, Hibernate, Ajax, Velocity, WSRP et bien d’autres.

Avant de présenter le produit, voyons ce qu’est un portail:

Un portail est une application web dont le rôle est d’aggréger sur une ou plusieurs pages des ressources et services différents (centrés sur un domaine particulier), tout en fournissant un système de sécurité permettant de gérer les permissions de ses différents utilisateurs et groupes d’utilisateurs. Les ressources ou services qui sont fournis par le portail sont matérialisés par ce que l’on appelle des ‘Portlets‘: ce ne sont en fait simplement que des applications web J2EE ayant la seule particularité d’être conformes à la specification JSR-168.

Un utilisateur connecté au portail peut disposer d’un espace privé (qu’il retrouve a chaque connexion) sur lequel il peut organiser ses applications favorites (des Portlets donc) sur une ou plusieurs pages.

L’administrateur peut, grâce au système de sécurité, restreindre l’accès à certains portlets (ou fonctionnalités d’un portlet) à certains utilisateurs ou groupes d’utilisateurs du portail par exemple.

A titre d’exemple, Google offre un portail personnalisable a chaque utilisateur accessible en cliquant sur le lien ‘Personnaliser cette page‘ sur le site du moteur de recherche. On arrive alors sur une page nous donnant la possiblité d’ajouter ou de supprimer des informations (présentées sous forme de Portlet) mais aussi des les réorganiser sur la page.

Parlons de Liferay maintenant !

Liferay est donc un projet OpenSource, développé par une communauté assez active (une mise a jour majeure tous les 3 mois environ), et disponible sur le site http://www.liferay.com.
Le portail est disponible sous 2 formes:
– une version Professional étant une application web POJO (Plain Old Java Object) exécutable directement sur une instance de conteneur web J2EE (Tomcat par exemple) et ne comportant donc aucun EJB
– une version Enterprise étant une application web exécutable directement sur une instance de conteneur d’EJB (JBoss par exemple)

La version Professional est un bon point de départ pour tester: elle est disponible en téléchargement, sous forme d’application complète avec le serveur intégré et configuré (ici pour Tomcat), ou sous forme de fichier WAR ou EAR. Les sources du portail sont bien entendu aussi disponibles sur la page de téléchargement.

Liferay est compatible avec tous les SGBD existants (grâce a l’utilisation du framework Hibernate), et s’exécute par défaut avec le SGBD embarqué HSQLDB.

Une fois le serveur lancé, on arrive sur la page d’accueil:

Toutes les pages disponibles pour le moment appartiennent à la communauté des ‘Invités’ vu qu’aucune connexion n’est nécessaire pour les visualiser. Pour se connecter, cliquer sur le lien ‘Sign In‘ situé en haut a droite de la page. Entrer le login et mot de passe d l’administrateur par défaut:
  • login: test@liferay.com
  • password: test

Une fois connecté, nous sommes redirigés vers la communauté privée de l’administrateur contenant déjà plusieurs portlets. Dans cet ensemble de pages on peut, en cliquant sur la barre de titre des différents portlets, déplacer les portlets, les supprimer, en ajouter d’autres, etc.
En plaçant le pointeur de la souris sur l’icone présent dans le coin supérieur droit, on obtient la liste des actions disponibles sur la page courante.

En cliquant par exemple sur l’icone représentant un ‘+’, un menu apparait et permet d’ajouter sur la page courante les portlets disponibles sur le portail. On peut aussi gérer son compte ou changer la disposition des portlets sur la page (Layout), etc.
Si l’on veut revenir a la communauté des invités, il suffit de sélectionner ‘Guest’ dans le menu apparaissant lorsque l’on place le pointeur de la souris sur l’icone représentant un panneau de direction. D’autres communautés existent et peuvent être créées par le biais du portlet ‘Communities’.

Liferay est livré avec beaucoup de portlets plus ou moins utiles. Les plus intéressants sont:

  • Journal
    permet d’écrire des articles et de les publier grâce au portlet Journal Content, mais aussi de générer un flux RSS par exemple.
  • Message Boards
    un forum avec abonnement et génération de flux RSS également
  • Wiki, Blogs
  • Polls
    pour faire des sondages
  • IFrame
    pour afficher un site ou une page externes dans un portlet (par exemple essayez avec google.fr !)
  • Calendar
    un calendrier avec gestion des évenements (par mail, RSS, etc)
  • … et bien sur tous les portlets d’administration du portail !
Et l’on peut bien entendu rajouter ses propres portlets grâce au système d’autodeploy qui permet de les rajouter à chaud (c’est à dire sans redémarrer le serveur !).

Pour terminer, je parlerai de quelques fonctionnalités de Liferay très intéressantes lorsque l’on veut l’utiliser en entreprise:

  • Liferay dispose d’un mécanisme permettant d’une part d’intéragir avec le LDAP de l’entreprise lors de l’étape de login, mais aussi de synchroniser les groupes du LDAP dans le portail !
  • Liferay fournit les connecteurs pour intéragir avec un système de SSO (Single Sign On) tel que CAS. Typiquement, le SSO est utile si l’on dispose de 2 applications web différentes ayant chacune leur système d’authentification propre et que l’on veut faire en sorte que le fait de s’authentifier sur l’une nous authentifie automatiquement sur l’autre (donc on ne se Logge qu’une seule fois).
Voila j’espère que cette petite introduction vous aura convaincu de la puissance d’un portail web et spécifiquement de Liferay, de la valeur ajoutée et du gain de temps que cela peut apporter à une entreprise qui doit se créer un intranet.
Catégories
Open-source Systeme

C’est quoi l’open-source ?

Il y a des modes qui vont et qui viennent sans trop qu’on les attendes. Le retour des pantalons à pâtes d’éléphant, des chaussures converses, de la musique gothique et bien d’autres exemples encore… Depuis maintenant quelques mois, l »open-source » revient immanquablement dans les discutions (palabres ?) des professionnels de l’informatique. Comme j’entend pas mal de bêtises sur le sujet je vais essayer dans ce post de définir ce qu’est un logiciel (ou un code) « open-source ».

En premier lieu « open-source » n’est pas un synonyme de gratuit ! En effet on peut très bien développer un logiciel en « open-source » et le vendre…

L' »open-source » désigne l’acte volontaire du développeur (ou de l’équipe de développement) de mettre à disposition le code sources de son logiciel à la communauté Internet.

Logiciel NON « open-source »:
| Privée___________________________ | Public_______ |
CODE SOURCE -> procédure de compilation -> CODE COMPILE

Logiciel « open-source »:
| Public _____________________________________________ |
CODE SOURCE -> procédure de compilation -> CODE COMPILE

Mon dieu ! mais pourquoi faire une chose pareille s’exclame les équipes commerciales… et bien tout simplement pour profiter de tout ce qu’Internet (et sa communauté) peut apporter à votre logiciel:
– détection et correction de bug
– ajout de nouvelles fonctionnalités
– portabilité vers d’autres operating system
– support très réactifs (notamment grâce au forum / mailing list / blog)

Et le GPL, GNU, BSD… c’est quoi exactement ?

Ce sont des licences que l’on peut associer à son logiciel (ou son code) pour le diffuser selon certaines règles. Par exemple, la licence GPL interdit l’inclusion d’un logiciel (ou d’un code) GPL dans un autre logiciel non GPL. Ce n’est, par contre, pas le cas de la licence GNU (cliquer ici pour voir un tableau comparatif).

Derrière ces acronymes et règles assez compliquées (aller essayer de comprendre les subtilités entre les versions 2 & 3 de la licence GPL, si vous avez des infos, merci de laisser un commentaire, je suis preneur…) se cache en fait un état d’esprit. Celui de partager son travail afin que d’autres en profite et réciproquement profiter du travail des autres. Bref les mentalités ont encore du chemin à parcourir mais je ne doute pas une seconde de l’issue de cette évolution.

Liens: GNU / Creative Common / GPL / LGPL / BSD

Catégories
Open-source Reseau

Installation de Nagios sur Fedora

Update: pour une procédure d’installation de Nagios version 3, merci de suivre ce lien… 

Voici les étapes à suivre pour installer Nagios (le « bien connu » outil de monitoring réseau « open-source ») sur un serveur Fedora.

La configuration est la suivante:

  • Fedora Core 6 (avec kernel 2.6.19) avec serveur Apache pre-installé.
  • Nagios 2.6

On commence par l’installation de Nagios et des différents plugins.

# yum -y install nagios
# yum -y install nagios-plugins
# yum -y install nagios-plugins-ping nagios-plugins-tcp nagios-plugins-udp nagios-plugins-http nagios-plugins-dns nagios-plugins-smtp nagios-plugins-ldap nagios-plugins-pgsql nagios-plugins-mysql

Vient ensuite la configuration du serveur web (Apache dans notre exemple, mais on peut en utiliser un autre). On doit pour cela modifier le fichier nagios.conf dans /etc/httpd/conf.d/ pour autoriser l’accés depuis toutes les sources.

# vi /etc/httpd/conf.d/nagios.conf
> Remplacer les lignes deny from all par allow from all

On doit également générer un couple login/password pour accèder à l’interface Web d’administration. Pour cela, il faut:

# htpasswd -c /etc/nagios/passwd admin

Dans ma configuration il a aussi fallu que je passe ma Fedora en mode SELINUX permissive, sinon les scripts CGI de Nagios ne s’executaient pas.

# vi /etc/selinux/config
> SELINUX=disabled
# reboot

Il ne reste plus qu’a vérifier que le serveur Web marche bien.
http://<adresse de votre serveur>/nagios/

La configuration de base du daemon Nagios est alors la suivante:

# cd /etc/nagios
# cp nagios.cfg-sample nagios.cfg
# vi nagios.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# cp cgi.cfg-sample cgi.cfg
# vi cgi.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# vi contacts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi dependencies.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi escalations.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hosts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi services.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi timeperiods.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.

Update: j’ai également écrit un post pour détailler cette configuration.

Pour tester vos fichiers de configuration, vous pouvez utiliser la commande suivante:

# nagios -v /etc/nagios/nagios.cfg

Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check

Et voila le moment tant attendu, le lancement du process:

# service nagios start

Ne pas oublier de forcer le demarrage du process au reboot de la machine grâce à la commande (petit rappel):

# chkconfig –levels 235 nagios on

Il ne reste plus qu’a pointer votre navigateur Web favori sur l’URL suivante:
http://<adresseipduserveur>/nagios/

En cas de problème (serveur Web injoignable par exemple), il faut vérifier que le Firewallautorise bien les requêtes HTTP entrantes.

# iptable -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
# /sbin/iptables-save

Et voila le travail !!!

PS: en cas de modification des fichiers de configuration (par exemple ajout d’une machine monitorer), vous pouvez utiliser la commande suivante, qui vérifie vos fichiers de configurations et que les recharges.

# service nagios reload

Catégories
Open-source

Mac OS X…

Je suis un tout nouveau utilisateur Apple depuis que le travail m’a mis entre les mains un MacBook Pro et son OS Max OS X (Tiger). Habitué aux environnements Linux (notamment Fedora), il ne m’a fallu que quelques heures pour prendre en main le système… et quel système…

Mac OS X est basée sur une architecture système FreeBSD (version 5.0) et un noyau open-source XNU (dérivé de Mach 3.0). Il est donc tout à fait possible de lancer un terminal pour se retrouver dans un environnement Unix.

L’environnement graphique est à la hauteur de sa réputation: rapide, beau, facile d’utilisation. Dans sa version X (10), il se nomme Aqua (me rappelle quelque chose se truc là…) et apporte les dernières technologies sur votre bureau: gestion vectoriel des objets, transparence, bureau virtuel 3D…
Il est bien entendu possible d’ajouter une couche X11 à Mac OS X vu que ce dernier est un système Unix (BSD).

Bref nous sommes devant un système presque parfait.
Presque car il n’est pas possible à l’heure actuelle (bien que des petits malins y soit parvenu) d’installer cet OS sur une machine autre que celle vendues par Apple. Il faut cependant admettre que le hardware d’Apple est de très grande qualité, mais il a cependant un prix…
Presque aussi car bien que basée sur des briques open-source, le système dans sa globalité n’est pas libre et reste la propriété d’Apple…

A bientôt, et bonne fêtes !

Catégories
Open-source

Premier message sur le blog

Ce blog sera mis à jour plus ou moins régulièrement en fonction de mes découvertes sur l’OS Linux Fedora.
Je viens d’installer la version 6.0 de la distribution libre issue de Red Hat.

Voici un apercu de mon bureau:Je suis sous Gnome 2.16.

Les informations du système (mémoire, CPU, espace disque…) sont remontées par GKrellM (je pense faire un post sur le sujet).

A+