Catégories
Open-source Reseau

De Nagios à XML…

La manipulation des fichiers de configuration de Nagios peut s’avérer délicate quand la taille et la complexité du réseau à surveiller deviennent importante. L’utilisation d’un fichier de configuration au format XML permet une plus grande flexibilité au niveau du développement de scripts au d’interface Web de management. La première brique est donc de transformer les fichiers de configuration de Nagios en un fichier XML.

J’ai donc écrit deux scripts Perl (à télécharger ici).

Le permier permet à partir d’une configuration existante (fichiers nagios.cfg …) de créer un fichier XML.

Exemple d’utilisation:

# cd /etc/nagios
# nagios2xml.pl -f ./nagios.cfg -x /tmp/nagios.xml

Le second permet à partir d’un fichier XML de générer un fichier de configuration de Nagios (« lisible » par Nagios).

Exemple d’utilisation:

# cd /etc/nagiosnew
# xml2nagios.pl -x /tmp/nagios.xml -f ./

Il ne reste plus qu’a créer les scripts pou manipuler cette nouvelle structure XML !
Suite au prochain épisode.

Catégories
Open-source Systeme

Liste de Freeware & GPL pour Mac OS X

Le page web suivante permet d’avoir une liste assez bien faite de Freeware et GPL pour Mac OS X classée par catégories (Audio, Video, Office, 3D, P2P …).

Liste freeware & gpl mac

Mise à jour réguliairement, elle permet de trouver rapidement de nouvelles petites perles libres. Elle est aussi une bonne base pour es futurs « switchers » afin qu’ils se fassent une idée de freewares que l’on peut trouver sour l’OS de la pomme.

Catégories
Open-source Reseau

Exemple de configuration de Nagios

Ce post fait suite à celui sur l’installation de Nagios sur une machine Linux. Nous allons y décrire les fichiers de configurations nécessaires pour surveiller (« to monitor ») un réseau simple comporant: une machine client, une machine serveur avec un serveur Web et une serveur FTP et une liaison Internet.

Note: les fichiers de configurations données en exemple dans ce post se basent sur la version 2.8 de Nagios.

Sous Fedora Linux, les fichiers de configurations de Nagios se trouvent dans le répertoire /etc/nagios/ (/usr/local/etc/nagios sous BSD). Le fichier nagios.cfg définie l’ensemble des sous fichiers de configurations grâce aux variables cfg_file:


#cfg_file=/etc/nagios/localhost.cfg
cfg_file=/usr/local/etc/nagios/timeperiods.cfg
cfg_file=/usr/local/etc/nagios/contacts.cfg
cfg_file=/usr/local/etc/nagios/contactgroups.cfg
cfg_file=/usr/local/etc/nagios/hosts.cfg
cfg_file=/usr/local/etc/nagios/services.cfg
cfg_file=/usr/local/etc/nagios/hostgroups.cfg

Il faut également configurer le fichier cgi.cfg (en partant de cgi.cfg-sample):

authorized_for_system_information=admin
authorized_for_configuration_information=admin
authorized_for_system_commands=admin
authorized_for_all_services=admin
authorized_for_all_hosts=admin
authorized_for_all_service_commands=admin
authorized_for_all_host_commands=admin

Définition des plages horaires

La première étape consiste à définir les périodes de temps que nous allons pouvoir utiliser dans les autres fichiers de configurations. Pour simplifier, nous allons juste créer la période 24×7 (tout les jours, toutes les heures…). Pour cela, il faut éditer le fichier /usr/local/etc/nagios/timeperiods.cfg:

# Time periods definitions
##########################
# 7d/7 24h/24
define timeperiod {
timeperiod_name 24×7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}

Définition des contacts

Nous allons ensuite définir les contacts. C’est à dire les personnes devant être prevenu par un moyen ou un autre (mail, SMS…) quand une alerte est générée par Nagios (par exemple quand votre serveur Web ne répond plus).

Il faut pour cela modifier deux fichiers, /usr/local/etc/nagios/contacts.cfg pour la définition du/des contacts:

# Contacts defintions
#####################
define contact {
contact_name nico
alias Nicolas
host_notification_period 24×7
service_notification_period 24×7
host_notification_options d,u,r
service_notification_options w,u,c,r
host_notification_commands host-notify-by-email
service_notification_commands notify-by-email
email nico@votreadressemail.com
}

Nous venons donc de créer un contact nommé « nico » qui sera joingnable 24 heures sur 24, 7 jours sur 7 par mail.

Le deuxième fichier (/usr/local/etc/nagios/contactgroups.cfg) permet d’intégrer le nouvel utilisateur dans un groupe:

# Contacts groups definition
############################
define contactgroup {
contactgroup_name admins
alias Administrators
members nico
}

Nous avons donc ajouté « nico » dans le groupe « admins ».

Définition des machines à surveiller

Entrons dans le vif du sujet en déclarant les machines que l’on veut surveiller. Cette définition sefait dans le fichier /usr/local/etc/nagios/hosts.cfg:

On commence le fichier en définissant un template:

# Nagios server – Hosts definitions
###################################
# Templates
#———-
define host{
name template-host
check_command check-host-alive
max_check_attempts 2
check_interval 5
active_checks_enabled 1
passive_checks_enabled 0
check_period 24×7
notification_interval 60
notification_period 24×7
obsess_over_host 0
check_freshness 0
event_handler_enabled 0
flap_detection_enabled 0
process_perf_data 0
retain_status_information 1
retain_nonstatus_information 1
contact_groups admins
register 0
}

Puis on ajoute la définition pour notre routeur d’accès à Internet (Freebox, 9box, OrangeBox, Trucbox…):

# Ma box
#————
define host{
use template-hosts
host_name monrouteuramoi
alias Mon routeur à moi c’est une Freebox
address 192.168.100.254
}

celle de mon PC client:

# Mon PC client
#————
define host{
use template-hosts
host_name monpcamoi
alias Mon MacBook Pro à moi
address 192.168.100.2
}

et enfin celle de mon serveur:

# Mon serveur
#————
define host{
use template-hosts
host_name monserveuramoi
alias Mon serveur Linux à moi
address 192.168.100.1
}

on termine en surveillant la liaison Internet (pour cela on va pinguer un serveur Web):

# Mon liaison Internet
#————
define host{
use template-hosts
host_name maliaisonamoi
alias Ma liaison ADSL à moi
address www.free.fr
parents monrouteuramoi
}

Vous pouvez remarquer dans cette dernière définition que nous avons définie « monrouteuramoi » comme père de ma « maliaisonamoi ». Ainsi, si le routeur n’est plus accéssible, Nagios n’essayera plus de surveiller la liaison Internet.

Définition des services à surveiller

Une fois les machines définies, nous devons décider ce que nous allons surveiller dessus. Cette configuration se fait grâce au fichier /usr/local/etc/nagios/services.cfg.

Nous allons commencer par un template:

# Templates
#———-
define service{
name template-services
active_checks_enabled 1
passive_checks_enabled 0
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 0
event_handler_enabled 0
flap_detection_enabled 0
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
check_period 24×7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 240
notification_period 24×7
notification_options c,r
register 0
}

Puis par la surveillance du routeur:

# monrouteuramoi
#———
define service {
host_name monrouteuramoi
use template-services
service_description Ping
check_command check-host-alive
}

De mon PC client:

# monpcamoi
#———
define service {
host_name monpcamoi
use template-services
service_description Ping
check_command check-host-alive
}

mon serveur (on surveille également le serveur HTTP et le serveur FTP):

# monserveuramoi
#———
define service {
host_name monserveuramoi
use template-services
service_description Ping
check_command check-server-alive
}
define service {
host_name monserveuramoi
use template-services
service_description Web serveur
check_command check_http
}
define service {
host_name monserveuramoi
use template-services
service_description FTP serveur
check_command check_ftp
}

et enfin la liaison Internet:

# maliaisonamoi
#———
define service {
host_name maliaisonamoi
use template-services
service_description Ping
check_command check-server-alive
}

Définition des groupes de machines

La dernière étape consiste à définir un groupe de machine dans le fichier /usr/local/etc/nagios/hostgroups.cfg:

# Mon réseau à moi
define hostgroup{
hostgroup_name monreseauamoi
alias Mon reseau
members monrouteuramoi, monpcamoi, monserveuramoi, maliaisonamoi
}

et voila la configuration touche à sa fin, il ne reste plus qu’a vérifier la syntaxe de vos fichiers de configuration avec la commande suivante:

# nagios -v <nagios.cfg>

Si tout est ok, vous pouvez relancer le serveur Nagios:

# service nagios reload

That’s all folk !

Pour une description précise des options des fichiers de configuration de Nagios, c’est par ici.

Pour consulter l’ensemble des posts sur Nagios, c’est par là.

Catégories
Open-source Reseau

Connexion d’Asterisk au serveur SIP de Free

Suite à l’article d’hier sur la configuration d’un serveur Asterisk SIP sous Fedora, voici un tutoriel permettant de le connecter au serveur SIP de l’opérateur Free (Freephonie), ou à toutes autres opérateur SIP.

Ce que nous voulons obtenir:
– les appels sortant (vers fixes, portables) depuis un client SIP (X-Lite dans notre exemple).
– les appels entrant sont automatiquement basculés vers le client SIP, puis vers le téléphone branché sur la Freebox (si le client SIP ne décroche pas) et enfin vers la messagerie (si le téléphone ne décroche pas).

Êtes-vous prêt ? Alors c’est partie…

Configuration de votre compte SIP Free

La première chose à faire est d’aller sur l’interface d’administration de votre compte Free afin d’activer votre compte SIP (dans le menu Gestion de mes services de téléphonie).

Cette opération a pour but de rediriger les appels en SIP.

Il faut redémarrer la Freebox pour que la configuration soit prise en compte.

Configuration du serveur Asterisk

Nous allons apporter quelques modifications à notre fichier de configuration SIP (/etc/asterisk/sip.conf).

[general]
context=default
srvlookup=no
externip=81.54.223.16
localnet=192.168.1.0/255.255.255.0
defaultexpirey=1800
dtmfmode=auto
qualify=yes
register = utilisateur:motdepasse@freephonie.net
[freephonie_appelsortant]
type=peer
allow=all
host=freephonie.net
fromuser=utilisateur
username=utilisateur
secret=motdepasse
dtmfmode=inband
qualify=yes
fromdomain=freephonie.net
[freephonie_appelentrant]
type=peer
context=depuisfreephonie
host=freephonie.net
qualify=yes
allow=all

[nicolargo]
type=friend
username=nicolargo
secret=motdepasse
context=maison
quality=yes
nat=no
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=internal

Il faut remplacer ‘utilisateur’ et ‘motdepasse’ par ceux fournis par Free dans l’interface d’administration Free.
‘exterip’ doit être remplacée par votre adresse IP publique (aussi récupérable sur l’interface d’administration Free).
‘localnet’ doit être remplacé par l’adresse réseau et le masque de votre réseau local.

Ensuite, on édite le fichier de plan de numérotation (/etc/asterisk/extensions.conf):

[maison]
; Numéros « maison »
exten => 10,1,Dial(SIP/nicolargo) ; quand on compose le 10, le softphone « nicolargo » sonnera
; numéros externes
exten => _9.,1,Dial(SIP/freephonie-out/${EXTEN:1}) ; quand on compose un numero qui commence par 9, on utilise le lien « freephonie » et on passe le numero au peer en ôtant le premier digit.
[depuisfreephonie]
; Contexte pour les appels recus depuis Free
exten => s,1,Ringing
exten => s,2,Dial(SIP/nicolargo)
exten => s,3,Congestion

Il ne reste plus qu’à faire prendre en compte la nouvelle configuration par votre serveur Asterisk:

# asterisk -r
*CLI> restart gracefully

Et voila, vous pouvez tester 😉

Mise à jour du billet

Dans le Linux magazine n°90, un article très complet sur comment configurer son serveur Asterisk avec le service Freephonie de l’opérateur Free.

Catégories
Open-source Reseau

Installation d’Asterisk sur Fedora

Asterisk est un serveur de téléphonie open-source permettant de disposer sur un simple PC de fonctions jusque là réservées aux PABX professionnel. Nous allons dans ce post installer un serveur Asterisk sur PC fonctionnant sous Fedora (Core 6). Nous nous limiterons à la configuration d’un serveur VoIP SIP sans passerelle vers le monde téléphonique.

Attention: si vous voulez utiliser une carte téléphonique de tpy eDigium dans votre serveur, il faudra l’installer AVANT d’installer Asterisk.

Installation d’Asterisk

Nous allons compiler la dernière version d’Asterisk (1.4.2) au moment de l’écriture de ce post à partir des sources (téléchargeable ici).Une fois le fichier téléchargé, il faut commencer par le décompresser:

# tar zxvf asterisk-1.4.2.tar.gz

On lance la compilation avec les commandes suivantes:

# cd asterisk-1.4.2
# ./configure
# make
# make install
# make samples
-> Seulement nécessaire pour un installation initiale. Écrase les fichiers de configuration actuels.
# make progdocs

PS: si vous souhaitez mettre à jour unes version existante d’Asterisk, il faut utiliser les commandes suivantes:

# cd asterisk-1.4.2
# ./configure
# make update
# make clean# make upgrade

Une fois l’installation terminée, vous pouvez tester Asterisk:

# /usr/sbin/asterisk -VAsterisk 1.4.2

L’installation est réussie, on peut passer à la phase de configuration.

Configuration d’Asterisk

Avant de nous attaquer aux fichiers de configuration. Voici la liste des répertoires utilisées par Asterisk:

  • /etc/asterisk contient les fichiers de configuration.
  • /usr/lib/asterisk/modules contient les modules utilisés par Asterisk (codec, applications tierces…).
  • /var/lib/asterisk/agi-bin contient vos scripts.
  • /var/lib/asterisk/firmware contient les drivers pour les cartes compatible Asterisk (par exemple Digium).
  • /var/lib/asterisk/images contient des images pour les applications les supportant.
  • /var/lib/asterisk/keys contient les clès publiques et privées (RSA)
  • /var/lib/asterisk/mohmp3 contient les musiques d’attente au format MP3 (CBR uniquement et pas de tag ID3).
  • /var/lib/asterisk/sounds contient les annonces vocales
  • /var/log/asterisk contient les logs du processus Asterisk

Comme nous allons nous limiter à une configuration purement SIP du serveur Asterisk (sans interface vers le monde téléphonique), la configuration est relativement simple.Il faut commencer par éditer le fichier /etc/asterisk/sip.conf:

[general]
context=default
srvlookup=no
[nicolargo]
type=friend
username=nicolargo
secret=password
quality=yes
nat=no
canreinvite=no
auth=md5
host=dynamic
dtfmode=rfc2833
allow=ulaw
context=internal

Nous venons de créer un utilisateur nicolargo sur le serveur.

Lancement d’Asterisk

Pour lancer la console d’administration Asterisk, il suffit de taper la ligne suivante:

# /usr/sbin/asterisk -c
*CLI>

Nous pouvons alors vérifier que l’utilisateur SIP a bien été créé:

*CLI> sip show users
Username Secret Account
code Def.
Context ACL NAT
nicolargo password default No RFC3581

Puis voir les détails de la configuration de l’utisateur nicolargo:

*CLI> sip show user
nicolargo* Name : nicolargoSecret : <Set>MD5Secret : <Not set>Context : defaultLanguage :AMA flags : UnknownTransfer mode: openMaxCallBR : 384 kbpsCallingPres : Presentation Allowed, Not ScreenedCall limit : 0Callgroup :Pickupgroup :Callerid : « nicolargo » <1208>ACL : NoCodec Order : (gsm:20,ulaw:20,alaw:20)Auto-Framing: No

Pour arrêter le serveur, il faut saisir la commande suivante:

*CLI> stop gracefully

Test du serveur à partir d’un client SIP

Pour mes tests j’ai utilisé X-Lite (disponible sous Linux, Mac et Windows), qui a le bon goût d’être gratuit et parfaitement compatible avec la norme SIP.La configuration doit être la suivante:

L’enregistrement sur le serveur Asterisk (192.168.29.246 dans mon cas) se passe alors sans problème:

Si vous avez un problème pour vous connecté à votre serveur Asterisk, pensez à regarder du coté des règles de Firewall (iptables). Il faut ajouter la règle suivante:

# iptables -A RH-Firewall-1-INPUT -p udp -m udp –dport 5061 -j ACCEPT

A partir de maintenant (et en définissant d’autres utilisateurs), vous devez être capable d’effectuer des appels SIP à l’intérieur de votre réseau.Voila donc une première étape de faite. Dans un prochain post nous verrons comment interfacer notre nouveau serveur vers un serveur père (par exemple chez votre fournisseur d’accès Internet)…
Pour ceux que cela intéresse, cet article raconte le retour d’expérience de l’installation d’une serveur Asterisk en entreprise.

Catégories
Open-source Reseau Systeme

Authentification avec OpenID

Nous allons dans ce post expliquer comment mettre en place une authentification OpenID à partir du nom de domaine de votre site perso/blog.

OpenID est un système d’authentification décentralisé permettant une authentification unique à partir d’un nom de domaine DNS. Il vous permet donc de vous authentifier sur plusieurs sites avec le même profil (login, password, nom, adresse…). Plus d’info ici.

Ce que nous voulons obtenir: Une authentification dont l’OpenID sera: http://blog.nicolargo.com (à remplacer par votre nom de domaine dans le reste de ce tutoriel).

Creation d’un OpenID sur un serveur de confiance

La première chose à faire est de créer un ID chez un fournisseur d’identité. J’ai choisi de passer par le site https://www.myopenid.com/, mais d’autres fournisseurs existent. Il suffit de choisir un login (nicolargo dans mon cas), le serveur va créer un OpenID de la forme: http://nicolargo.myopenid.com.

Utilisation d’un nom de domaine personnel comme OpenID

Si vous disposez comme moi d’un nom de domaine (http://blog.nicolargo.com), il est très simple de l’utiliser en lieu et place de l’OpenID que vous venez de créer (http://nicolargo.myopenid.com). Pour cela, il faut ajouter les 2 lignes suivante dans la section <header> de votre page Web principale. Si comme dans mon cas votre site est un blog WordPress, il faut les ajouter dans le fichier header.php de votre thème.


<link rel=“openid.server” href=“https://www.myopenid.com/server” />
<link rel=“openid.delegate” href=“http://nicolargo.myopenid.com” />

Ces deux lignes vont automatiquement rediriger l’authentification depuis http://blog.nicolargo.com vers le serveur de confiance https://www.myopenid.com/server en utilisant l’OpenID http://nicolargo.myopenid.com.

Comment vérifier que cela marche ?

C’est très simple, il faut se rendre sur un des nombreux sites supportant l’OpenID (voir une liste ici) et s’enregistrer en utilisant votre nouvel OpenID (http://blog.nicolargo.com dans mon cas). Par exemple sur Ziki, lors de l’enregistrement, on est rediriger vers cette page:

Voila vos premiers pas accomplis dans le SSO !

Catégories
Open-source

L’open-source un cancer communiste ?

Après avoir dit par l’intermédiaire de son architecte système (j’ai nommé Bill Gates) que le fait de restreindre la propriété intelectuelle s’apparantait à du communisme (voir article ici), c’est son président directeur général (Steve Ballmer) qui enfonce le clou en laissant trainer dans une des phrases d’un interview que « linux est un cancer ». La dernière attaque en date du clan Microsoft sur le monde open-source vient du fait qu’il l’accuse d’utiliser des codes protégés par des brevets.

Légerement irrité, la communauté open-source a décider de demander des éclaircissements à Microsoft via un lettre ouverte dont le titre est: « Montrez-nous le code » (ShowUsTheCode.com).

Que penser de tout ca ? Pour ma part j’y vois comme une montée en puissance de l’open-source (on attaque que lorsque l’on se sent menacé…) ou une baisse de l’importance de Microsoft dans le monde de l’informatique…

Catégories
Open-source

Creative Commons 3.0

La version 3.0 des licences Creatives Commons viennent d’être mise en ligne. Elles sont en fait un couteau suisse dans la jungle des licences open-source.

Le site permet de choisir differentes options (utilisation commerciale, modification, pays…) et des les appliquer sur votre format qui peut être audio, imahe, video, texte ou creation multimedia).

Il vous permet également de générer un logo (et un lien HTML) que vous pouvez intégrer à votre page Web (comme je viens de le faire ;)).

Lien vers le site: http://creativecommons.org/license/

Autre post sur le sujet:
C’est quoi l’open source ?

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