<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8129976</id><updated>2011-10-22T02:37:45.268+02:00</updated><category term='apache'/><category term='wls'/><category term='images'/><category term='wiki'/><category term='installation'/><category term='jpeg'/><category term='sécurité'/><category term='search engine'/><category term='paroles'/><category term='webcenter'/><category term='recherche'/><category term='indexing'/><category term='cloud'/><category term='photos'/><category term='blog'/><category term='lyrics'/><category term='bi'/><category term='musique'/><category term='oracle'/><category term='batch'/><category term='pcl'/><category term='publisher'/><category term='outlook'/><category term='fop'/><category term='cms'/><category term='printer'/><category term='script'/><category term='weblogic'/><category term='portal'/><category term='mp3'/><category term='middleware'/><category term='wsrp'/><category term='code'/><category term='itunes'/><title type='text'>En vrac</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8129976.post-1013317827870898327</id><published>2011-07-26T22:24:00.000+02:00</published><updated>2011-07-26T22:28:35.995+02:00</updated><title type='text'>Ma note Triple W</title><content type='html'>&lt;p&gt;Ma petite agence a décidé d’attribuer la prestigieuse note &lt;em&gt;triple W&lt;/em&gt; à une combinaison gagnante : &lt;ul&gt; &lt;li&gt;MS &lt;b&gt;Word&lt;/b&gt; +  &lt;li&gt;&lt;b&gt;Wordpress&lt;/b&gt; +  &lt;li&gt;Oracle &lt;b&gt;WebCenter&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Cet attelage permet la mise en place d’une chaine éditoriale fiable et stimulante pour les rédacteurs. &lt;h3&gt;&amp;nbsp;&lt;/h3&gt; &lt;h4&gt;Scénario&lt;/h4&gt; &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;Walter rédige avec Word le descriptif d’un nouveau produit, et publie l’article sur son compte Wordpress interne. Walter a une fonction de rédacteur marketing et il utilisera son logiciel de traitement de texte Word comme seul outil d’écriture et de mise en forme de texte.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;William valide et catégorise les articles qui rentrent dans Wordpress. William est chargé du suivi de qualité de l’information interne. Il utilise Wordpress comme un &lt;i&gt;backoffice&lt;/i&gt; de gestion de contenu. Le méta-modèle de Wordpress est largement suffisant pour du traitement de masse d’articles.&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div align="justify"&gt;Wolfang consomme les articles dans WebCenter. Wolfang est le responsable de la ligne éditoriale du site intranet ; Il supervise également des sites de support en ligne aux clients. On suppose que ces sites sont réalisés avec Oracle WebCenter.&lt;br&gt;WebCenter excelle dans l’affichage contextuel de contenu selon le visiteur. Les articles provenant de Wordpress s’adapteront à la « cible » selon des règles de profilage (correspondances métadonnées Wordpress avec attributs du contexte WebCenter)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;Examinons le circuit du nouvel article&lt;/h4&gt; &lt;h5&gt;Rédaction dans MS Word 2007+ ou bien Live Writer&lt;/h5&gt; &lt;p align="justify"&gt;Word permet d’exporter (publier) le contenu d’un document vers un site de blog. On doit simplement enregistrer au préalable l’adresse du serveur de Blog ; Wordpress fait partie des serveurs supportées par cette fonctionnalité de Word.  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-rteK0ZIqBNE/Ti8hFaHUxjI/AAAAAAAAE2M/rritkb8BA7s/s1600-h/clip_image002%25255B9%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh4.ggpht.com/-qt4QNFRqqzU/Ti8hF9q57eI/AAAAAAAAE2Q/iZaZwfJEKtM/clip_image002_thumb%25255B6%25255D.jpg?imgmax=800" width="702" height="472"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h5&gt;Catégorisation du contenu dans Wordpress&lt;/h5&gt; &lt;p align="justify"&gt;Le travail consiste à vérifier le contenu et à procéder à une catégorisation si cela n’avait pas été déjà fait par le rédacteur. Celui qui effectue ces opérations possède le rôle minimum &lt;i&gt;d’Author&lt;/i&gt;, selon la terminologie de Wordpress, et il valide les billets (&lt;i&gt;posts&lt;/i&gt;). La catégorisation repose sur l’usage des différents axes de classement proposés par WP, à savoir : &lt;i&gt;Category&lt;/i&gt; et &lt;i&gt;Tags&lt;/i&gt;, principalement. On peut &lt;a href="http://wordpress.org/extend/plugins/more-taxonomies/"&gt;enrichir cette taxonomie&lt;/a&gt;, mais cela dépasse le cadre de notre propos.  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-8rFSLHA6e5c/Ti8hGlA_kqI/AAAAAAAAE2U/xRze9DbW3j8/s1600-h/clip_image004%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh4.ggpht.com/--O_0RxC-N9s/Ti8hHL_8jcI/AAAAAAAAE2Y/lyxjxZJSjkA/clip_image004_thumb%25255B4%25255D.jpg?imgmax=800" width="688" height="442"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h5&gt;Publication du contenu&lt;/h5&gt; &lt;p&gt;Voici une restitution du billet dans l’environnement standard de Worpdress. L’usage est de type Blog Multi-Auteurs. &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-o9zf1EMyLkM/Ti8hHtrFUPI/AAAAAAAAE2c/fqakdVKB7Y8/s1600-h/clip_image006%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh4.ggpht.com/-de1ARKVMEkU/Ti8hIDZAH9I/AAAAAAAAE2g/USWjMKGPT3w/clip_image006_thumb%25255B4%25255D.jpg?imgmax=800" width="708" height="405"&gt;&lt;/a&gt; &lt;h5&gt;Publication du contenu dans un Portail d’entreprise WebCenter Portal&lt;/h5&gt; &lt;p&gt;On aborde ici le troisième volet qui consiste à exploiter le contenu de Wordpress dans un portail d’entreprise. Dans notre exemple, il s’agit d’Oracle WebCenter. &lt;p&gt;Remarque sur les techniques de mise en œuvre : &lt;p align="justify"&gt;Au niveau de Wordpress, j’ai créé un &lt;a href="file:///C:/Users/PMONACO/Documents/#_Code_utilis&amp;eacute;_pour"&gt;script PHP qui affiche un article au format brut&lt;/a&gt; en fonction d’un ID d’article. La même opération peut être réalisée, mais cette fois-ci en fonction d’une catégorie ou bien de la valeur d’un tag. Les valeurs &lt;a href="file:///C:/Users/PMONACO/Documents/#_Exemple_de_passage"&gt;qui sont passées au script&lt;/a&gt; sont extraites du contexte à l’aide d’Els - &lt;i&gt;Expression language&lt;/i&gt;). Un exemple très classiques est celui-ci : &lt;p align="justify"&gt;· Le dernier article, correspondant à la &lt;i&gt;Business Unit&lt;/i&gt; Banking, doit être affiché pour tous les visiteurs appartenant à cette entité, sachant que cette information est renseignée dans le profile de l’utilisateur. &lt;p align="justify"&gt;· &lt;i&gt;L’expression language&lt;/i&gt; est : #{webCenterProfile[securityContext.userName].organizationalUnit} &lt;p align="justify"&gt;· Et l’appel à Wordpress devient : &lt;br&gt;&lt;font face="Courier New"&gt;http://&amp;lt;server&amp;gt;/wordpress/loo?bu=#{webCenterProfile[securityContext.userName].organizationalUnit}&lt;/font&gt; &lt;p align="justify"&gt;C’est de cette manière qu’on met en place très simplement un &lt;i&gt;matching&lt;/i&gt; de contenu. Le contenu retourné est au format HTML, comme tout contenu enregistré par Wordpress dans son référentiel.  &lt;p align="justify"&gt;Ci-dessous, l’affichage « brut » délivré par un appel à l’API de Wordpress (cf annexe): &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-LLW40NnSi6s/Ti8hIoDMCxI/AAAAAAAAE2k/5uwc7c-cXIM/s1600-h/clip_image008%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://lh5.ggpht.com/-nVEvpPofoxo/Ti8hJGr5UNI/AAAAAAAAE2o/mlyMs2WuQoU/clip_image008_thumb%25255B4%25255D.jpg?imgmax=800" width="701" height="436"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Publication dans WebCenter&lt;br&gt;Il s’agit maintenant d’ajouter ce nouvel article dans l’intranet, et plus particulièrement sur la page principale de l’entité &lt;i&gt;Banking&lt;/i&gt;. &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-YkaVe_-8MVY/Ti8hJwkCaAI/AAAAAAAAE2s/qyRw9Z6dFWg/s1600-h/clip_image010%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://lh4.ggpht.com/-_X-cK_1pmKU/Ti8hKXgfnaI/AAAAAAAAE2w/0BTBExvIg5g/clip_image010_thumb%25255B4%25255D.jpg?imgmax=800" width="694" height="434"&gt;&lt;/a&gt; &lt;p&gt;WebCenter propose un assistant qui s’appelle &lt;i&gt;Composer&lt;/i&gt; et qui permet de modifier la structure et/ou le contenu d’une page. Dans notre cas, nous ajoutons un appel à Wordpress. &lt;h5&gt;&lt;a href="http://lh4.ggpht.com/-UC-nL7F6AXY/Ti8hK-g9SSI/AAAAAAAAE20/j7XXRbd6Oic/s1600-h/clip_image012%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://lh3.ggpht.com/-abAXQfCCSFQ/Ti8hLv7RrfI/AAAAAAAAE24/maNFCnl4a4w/clip_image012_thumb%25255B4%25255D.jpg?imgmax=800" width="700" height="432"&gt;&lt;/a&gt;&lt;/h5&gt; &lt;p&gt;Voici le résultat final. &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-4W98wB5a4Zk/Ti8hMOA66_I/AAAAAAAAE28/v671A3w041E/s1600-h/clip_image014%25255B7%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://lh6.ggpht.com/-5obTpzeQFkk/Ti8hMkUQCbI/AAAAAAAAE3A/0UbivPKhORA/clip_image014_thumb%25255B4%25255D.jpg?imgmax=800" width="705" height="432"&gt;&lt;/a&gt; &lt;h5&gt;&lt;/h5&gt; &lt;h4&gt;Avantages&lt;/h4&gt; &lt;p align="justify"&gt;C’est une solution qui est bien adaptée, à priori, pour un intranet d’entreprise. Il y a une assez claire séparation entre les différents rôles, et le travail du contributeur n’est pas entravé par des détails techniques. C’est ce dernier aspect qui est fondamental, de mon point de vue.&lt;br&gt;Wordpress n’est pas un CMS au sens strict du terme, mais il présente l’avantage de pouvoir être exploité à la fois comme une infrastructure de &lt;i&gt;Blogging&lt;/i&gt; (multi-auteurs) et comme un backoffice de contenu vis-à-vis de portails internes ou externes. Il est, en outre, facilement extensible.&lt;br&gt;Le processus d’ensemble est assez simple puisqu’il se découpe en trois grandes phases qui sont illustrées ci-dessous. Chacune des phases peut faire l’objet de raffinements successifs&lt;br&gt;.&lt;br&gt;&lt;a href="http://lh4.ggpht.com/-dSDYY8bo28Q/Ti8hNNfgsQI/AAAAAAAAE18/h8bYEK2XpTY/s1600-h/clip_image016%25255B5%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://lh6.ggpht.com/-g32m8jTnXic/Ti8hNxrbO_I/AAAAAAAAE2A/9MDf-fVnwCQ/clip_image016_thumb%25255B2%25255D.jpg?imgmax=800" width="518" height="130"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h4&gt;Limitations&lt;/h4&gt; &lt;p&gt;Eh oui, il y en a ! &lt;p align="justify"&gt;Cette approche est appropriée pour du &lt;i&gt;poussage&lt;/i&gt; d’information à l’intérieur de l’entreprise. Pourquoi ? parce qu’on n’a pas une complète maitrise du &lt;i&gt;layout&lt;/i&gt; et que le recours aux feuilles de styles CSS est très réduit. Un produit comme &lt;i&gt;Oracle WebCenter Content&lt;/i&gt; apporterait ici une plus grande puissance de fonctionnement (Dynamic Converter)&lt;br&gt;Lors de la rédaction du billet sous Word, il est peu commode d’insérer des balises de type DIV. Les possibilités de structuration du contenu autrement que par paragraphes, titres et tableaux, sont réduites.&lt;br&gt;Le titre de l’article ne devra pas être modifié une fois validé car il serait considéré dans Wordpress comme un article différent de la version précédente.&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;h4&gt;Annexes&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;Protocole utilisé entre Word et Wordpress : http/xml-rpc&lt;/li&gt; &lt;li&gt;Protocole utilisé entre Wordpress et WebCenter : http/html&lt;/li&gt;&lt;/ul&gt; &lt;h5&gt;Code utilisé pour Wordpress (cf &lt;a href="http://codex.wordpress.org/Class_Reference/WP_Query"&gt;documentation&lt;/a&gt;)&lt;/h5&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;?php&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; define('WP_USE_THEMES', false);&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; /** Loads the WordPress Environment and Template */&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; require('./wp-blog-header.php');&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; // The Query&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; $args='p='.$_GET['bu'];&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; $the_query = new WP_Query( $args );&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; // The Loop&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; while ( $the_query-&amp;gt;have_posts() ) : $the_query-&amp;gt;the_post();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; the_title();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; the_content();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; endwhile;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; // Reset Post Data&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&amp;nbsp; wp_reset_postdata();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;?&amp;gt;&lt;/font&gt; &lt;h5&gt;Exemple de passage de paramètres à partir d’une valeur du Contexte de WebCenter (ELs)&lt;/h5&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-9qbp2kwkmaE/Ti8hOYeaDfI/AAAAAAAAE3E/k2d26lm4-x8/s1600-h/clip_image018%25255B5%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://lh5.ggpht.com/-7cBxqsWnsaY/Ti8hPXFApLI/AAAAAAAAE3I/In61qMMlQVI/clip_image018_thumb%25255B2%25255D.jpg?imgmax=800" width="708" height="440"&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1013317827870898327?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1013317827870898327/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1013317827870898327' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1013317827870898327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1013317827870898327'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2011/07/ma-note-triple-w.html' title='Ma note Triple W'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-qt4QNFRqqzU/Ti8hF9q57eI/AAAAAAAAE2Q/iZaZwfJEKtM/s72-c/clip_image002_thumb%25255B6%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-5797187234133028340</id><published>2011-07-26T13:02:00.001+02:00</published><updated>2011-07-26T13:29:05.931+02:00</updated><title type='text'>Une dramatique experience d'utilisateur</title><content type='html'>Y'en a marre de cette traduction stupide "Experience Utilisateur" pour &lt;i&gt;user experience&lt;/i&gt; !&lt;br /&gt;Je trouve cela&amp;nbsp;&lt;i&gt;dramatic&lt;/i&gt; !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-5797187234133028340?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/5797187234133028340/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=5797187234133028340' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5797187234133028340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5797187234133028340'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2011/07/une-dramatique-experience-dutilisateur.html' title='Une dramatique experience d&apos;utilisateur'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-8898768407110670884</id><published>2011-06-20T22:21:00.007+02:00</published><updated>2011-07-26T13:32:47.279+02:00</updated><title type='text'>Le Leviathan de Anish Kapoor au Grand Palais</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-N81ApaX32bk/Tf-qdNee8qI/AAAAAAAAEyY/7r7mFhuyMio/s1600/17062011%2528003%2529.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-N81ApaX32bk/Tf-qdNee8qI/AAAAAAAAEyY/7r7mFhuyMio/s320/17062011%2528003%2529.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;L'article que j'avais lu sur l’œuvre d'Anish Kapoor promettait une impression forte. A peine rentré dans la structure, un point de fuite assez haut perché s'empare du visiteur. Il rayonne depuis une gigantesque alvéole, cavité rétinienne&amp;nbsp;diffusant cette lumière crépusculaire.&amp;nbsp;Deux autres orbites&amp;nbsp;régulièrement veinés&amp;nbsp;répondent en écho &amp;nbsp;pour former une manière de transept élevé. Étrangement, de la poésie émane de cette confluence de boyaux. C'est pourtant le Léviathan !&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Mais dans quel substrat ces invaginations plongent-t-elles ? Quelle est la main qui a courbé ces nervures ? A la sortie dans la nef, on commence à deviner le subterfuge qui a permis une si puissante illusion.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Trois bulbes de couleur aubergine, poulpes géants abouchés avant de plonger, remplissent la grande nef de leur surface tendue et enchâssent le monstre. La magie s'évanouit alors de quelques degrés, mais ... quelle prouesse technologique !&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://www.ferrari-architecture.com/monumenta2011"&gt;http://www.ferrari-architecture.com/monumenta2011&lt;/a&gt;/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-8898768407110670884?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/8898768407110670884/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=8898768407110670884' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/8898768407110670884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/8898768407110670884'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2011/06/le-leviathan-de-anish-kapoor-au-grand.html' title='Le Leviathan de Anish Kapoor au Grand Palais'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-N81ApaX32bk/Tf-qdNee8qI/AAAAAAAAEyY/7r7mFhuyMio/s72-c/17062011%2528003%2529.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6030648308542519741</id><published>2011-01-07T21:24:00.001+01:00</published><updated>2011-01-18T09:14:54.553+01:00</updated><title type='text'>MP3/ID3 as a generic container for a non music related catalog</title><content type='html'>&lt;p&gt;   &lt;br /&gt;Les baladeurs MP3 sont très répandus, et sont utilisés principalement pour écouter de la musique.     &lt;br /&gt;Ces lecteurs MP3 permettent donc de &lt;em&gt;balader&lt;/em&gt; un &lt;strong&gt;catalogue&lt;/strong&gt; de fichiers musicaux, mais … si on considérait ces lecteurs comme pouvant manipuler avec le même agrément un &lt;strong&gt;catalogue d’une toute autre nature&lt;/strong&gt; ?&amp;#160; &lt;br /&gt;Par exemple :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;un catalogue d’œuvres d’art ? &lt;/li&gt;    &lt;li&gt;un catalogue de timbres ? &lt;/li&gt;    &lt;li&gt;un catalogue de recettes de cuisines ? &lt;/li&gt;    &lt;li&gt;un inventaire de fiches historiques ? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cela est possible parce qu’un fichier au format MP3 peut être muni d’un &lt;em&gt;container&lt;/em&gt; de métadonnées (tags) appelé &lt;a href="http://www.id3.org/" target="_blank"&gt;ID3&lt;/a&gt;. Ce sont les possibilités de ce &lt;em&gt;container&lt;/em&gt; que l’on va exploiter.     &lt;br /&gt;Les lecteurs MP3 sont agréables à utiliser, et présentent l’intérêt de pouvoir être manipulé d’une seule main. Cela constitue un avantage ergonomique dont on va tirer partie dans la suite de ce post.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TTIqUZJfu_I/AAAAAAAAESE/ws6fuNS2fDI/s1600-h/IMG_4510-1%5B15%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="IMG_4510-1" border="0" alt="IMG_4510-1" align="right" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TSovSlT9fmI/AAAAAAAAESI/LX3sszjGfCI/IMG_4510-1_thumb%5B15%5D.jpg?imgmax=800" width="184" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Mise en œuvre&lt;/h4&gt;  &lt;p&gt;Afin de tester le concept, j’ai choisi un thème qui comprend à la fois du son, de l’image, du texte et de la classification: &lt;strong&gt;Les oiseaux&lt;/strong&gt;.&amp;#160; J’ai pris comme référence, le lecteur d’Apple &lt;a href="http://en.wikipedia.org/wiki/IPod_Nano" target="_blank"&gt;iPod Nano&lt;/a&gt; (3ième génération) , et je me suis basé sur ses caractéristiques. Par exemple, on peut afficher les paroles d’une chansons ainsi que la couverture de l’album ou bien lister les morceaux selon le genre de musique. &lt;/p&gt;  &lt;p&gt;Allons sur un site spécialisé en ornithologie &lt;a href="http://www.oiseaux.net"&gt;http://www.oiseaux.net&lt;/a&gt; . &lt;/p&gt;  &lt;p&gt;Je télécharge quelques échantillons de chants d’oiseaux au format mp3, des illustrations, les informations de classement, et enfin une fiche de description.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Il reste à faire correspondre &lt;a href="http://www.oiseau.info/classification.html" target="_blank"&gt;ces informations spécifiques aux oiseaux&lt;/a&gt; avec celles que propose en standard un lecteur MP3. Dans la suite je pars sur la version &lt;a href="http://www.id3.org/id3v2.4.0-changes" target="_blank"&gt;ID3v2.4&lt;/a&gt; de la spécification &lt;a href="http://www.id3.org/" target="_blank"&gt;ID3&lt;/a&gt;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="771"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="120"&gt;&lt;strong&gt;Information liés à l’oiseau&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="99"&gt;&lt;strong&gt;Source&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="111"&gt;&lt;strong&gt;Tag / Récepteur&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="272"&gt;&lt;strong&gt;Commentaire sur le choix de correspondance&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="167"&gt;&lt;strong&gt;Illustration&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="118"&gt;Chant de l’oiseau&lt;/td&gt;        &lt;td valign="top" width="104"&gt;Enregistrement au format mp3&lt;/td&gt;        &lt;td valign="top" width="111"&gt;Le fichier.mp3 lui-même&lt;/td&gt;        &lt;td valign="top" width="266"&gt;         &lt;p&gt;Il s’agit des &lt;em&gt;frames&lt;/em&gt; qui constituent l’essentiel du fichier .mp3             &lt;br /&gt;Affichage:&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;Couverture &lt;/li&gt;            &lt;li&gt;Titre du morceau Fr / Ang &lt;/li&gt;            &lt;li&gt;Nom de l’artiste &lt;/li&gt;            &lt;li&gt;Nom de l’Album              &lt;br /&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top" width="172"&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TSovV3DCxDI/AAAAAAAAEPw/saHcBpqYJsE/s1600-h/IMG_4504-1%5B3%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4504-1" border="0" alt="IMG_4504-1" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TSovWTPjgPI/AAAAAAAAEP0/pFDpJSEIMwo/IMG_4504-1_thumb%5B3%5D.jpg?imgmax=800" width="139" height="167" /&gt;&lt;/a&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TTIqWgBan-I/AAAAAAAAEQA/7VFn0OGFL6w/s1600-h/IMG_4517%5B8%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4517" border="0" alt="IMG_4517" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TTIqXMZCBJI/AAAAAAAAEQI/ISNVhL5kI6g/IMG_4517_thumb%5B6%5D.jpg?imgmax=800" width="142" height="168" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="116"&gt;Nom vernaculaire          &lt;br /&gt;&lt;/td&gt;        &lt;td valign="top" width="107"&gt;Nom commun          &lt;br /&gt;+ Nom Anglais&lt;/td&gt;        &lt;td valign="top" width="111"&gt;Title (tag TIT2)&lt;/td&gt;        &lt;td valign="top" width="263"&gt;Liste des noms de morceaux, triée par ordre alphabétique:          &lt;br /&gt;Titre du morceau           &lt;br /&gt;Nom de l’artiste           &lt;br /&gt;&lt;/td&gt;        &lt;td valign="top" width="175"&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TSovZSu3v9I/AAAAAAAAEQM/r5S-Tix41yk/s1600-h/IMG_4508-1%5B5%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4508-1" border="0" alt="IMG_4508-1" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TSovZ7TUEYI/AAAAAAAAEQQ/Y-zz9sto_Uc/IMG_4508-1_thumb%5B5%5D.jpg?imgmax=800" width="137" height="159" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="115"&gt;Nom scientifique&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Genre/espèce&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Artiste (TPE1)&lt;/td&gt;        &lt;td valign="top" width="260"&gt;Liste des noms d’artistes, triée par ordre alphabétique. Le nom de l’oiseau est composé d’un premier mot indiquant le genre et d’un second indiquant l’espèce &lt;/td&gt;        &lt;td valign="top" width="177"&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TSovYO2NIZI/AAAAAAAAEQY/7OoRMk3ZxnU/s1600-h/IMG_4507-1%5B3%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4507-1" border="0" alt="IMG_4507-1" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TSovYwGNP0I/AAAAAAAAEQc/5gohVgfFWyo/IMG_4507-1_thumb%5B3%5D.jpg?imgmax=800" width="142" height="165" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="115"&gt;Nom vernaculaire&lt;/td&gt;        &lt;td valign="top" width="112"&gt;Nom commun en Français&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Album (TALB)&lt;/td&gt;        &lt;td valign="top" width="258"&gt;Liste des noms d’album triée par ordre alphabétique:          &lt;br /&gt;Couverture, Nom de l’album et nom de l’artiste&lt;/td&gt;        &lt;td valign="top" width="179"&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TSovXDly4EI/AAAAAAAAEQs/kzP2qoNU0Ko/s1600-h/IMG_4506-1%5B2%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4506-1" border="0" alt="IMG_4506-1" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TSovXXPw3kI/AAAAAAAAEQw/fU7zn0vcebQ/IMG_4506-1_thumb%5B2%5D.jpg?imgmax=800" width="145" height="176" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="114"&gt;Famille&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Famille&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Genre (TCON)&lt;/td&gt;        &lt;td valign="top" width="257"&gt;Choix discutable, compte tenu de la confusion entre le tag appelé &lt;em&gt;genre&lt;/em&gt; et la donnée de type Famille qu’il contient, mais c’est un tag de catégorisation exposé par le lecteur Ipod dont il aurait été dommage de se passer. Je n’ai pas vu l’intérêt d’y renseigner le genre dans la mesure où cette information rentre dans le nom de l’oiseau           &lt;br /&gt;Navigation: Genre –&amp;gt; nbre Artistes et nbre Albums&lt;/td&gt;        &lt;td valign="top" width="180"&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TSovaD3lbGI/AAAAAAAAEQ8/iOSypKNapx0/s1600-h/IMG_4509-1%5B4%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4509-1" border="0" alt="IMG_4509-1" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TSovagF-vtI/AAAAAAAAERE/dwQTBc3xqVw/IMG_4509-1_thumb%5B4%5D.jpg?imgmax=800" width="142" height="172" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="114"&gt;Ordre&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Ordre&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Compositeur (TCOM)&lt;/td&gt;        &lt;td valign="top" width="256"&gt;On utilise ce tag pour enregistrer &lt;em&gt;l’ordre&lt;/em&gt; auquel est rattaché l’oiseau. &lt;/td&gt;        &lt;td valign="top" width="181"&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TTIqeaUCACI/AAAAAAAAERI/gF7PlGLbtCM/s1600-h/IMG_4514%5B8%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4514" border="0" alt="IMG_4514" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TTIqfJ4xntI/AAAAAAAAERQ/nw6yYS-4m1E/IMG_4514_thumb%5B6%5D.jpg?imgmax=800" width="146" height="176" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="114"&gt;illustration de l’oiseau&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Photo au format jpeg&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Illustration (tag APIC) &lt;/td&gt;        &lt;td valign="top" width="256"&gt;&lt;em&gt;Cover (Front)&lt;/em&gt; est le &lt;em&gt;content descriptor&lt;/em&gt; choisi par défaut. on peut également prendre le descriptor &lt;em&gt;illustration&lt;/em&gt; ($12)&lt;/td&gt;        &lt;td valign="top" width="181"&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TSovTMaXWlI/AAAAAAAAERU/KNmLsqdhBHY/s1600-h/IMG_4499-1%5B3%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4499-1" border="0" alt="IMG_4499-1" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TSovTrmR6WI/AAAAAAAAERY/nKK8K3GAOb4/IMG_4499-1_thumb%5B3%5D.jpg?imgmax=800" width="141" height="164" /&gt;&lt;/a&gt;           &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TTIqghP3YfI/AAAAAAAAERk/FHGTULz-r5A/s1600-h/IMG_4513%5B8%5D.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4513" border="0" alt="IMG_4513" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TTIqhPjG5aI/AAAAAAAAERo/zB7-bU2UDpY/IMG_4513_thumb%5B6%5D.jpg?imgmax=800" width="144" height="172" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="114"&gt;Fiche descriptive de l’oiseau&lt;/td&gt;        &lt;td valign="top" width="113"&gt;Texte au format ASCII&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Lyrics (USLT)&lt;/td&gt;        &lt;td valign="top" width="256"&gt;Cela correspond à un tag ID3 qui est USLT (Unsynchronized Lyric).Si le texte existe en plusieurs langues, il doit être précédé du code langue. Par exemple pour le Français, il faut rentrer:          &lt;br /&gt;fre|&amp;lt;le texte de la fiche&amp;gt;.           &lt;br /&gt;Le tag ID3 peut contenir plusieurs versions de texte. Il faut utiliser pour cela un éditeur ID3 plus avancé que celui qui est fourni dans iTunes Le lecteur iPod n’en affichera qu’un seul, qui semble correspondre au dernier texte entré.&amp;#160; &lt;/td&gt;        &lt;td valign="top" width="181"&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TTIqhrvLDuI/AAAAAAAAERs/YkbulJi0xkc/s1600-h/IMG_4519%5B8%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_4519" border="0" alt="IMG_4519" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TTIqiBy7UGI/AAAAAAAAERw/icFaQXL0Re4/IMG_4519_thumb%5B6%5D.jpg?imgmax=800" width="150" height="173" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="113"&gt;A définir&lt;/td&gt;        &lt;td valign="top" width="113"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="110"&gt;Popularimeter (POPM)&lt;/td&gt;        &lt;td valign="top" width="257"&gt;Ce tag peut être utilisé pour donner une information quantitative sur l’oiseau. En théorie, l’échelle va de 0 à 255.&lt;/td&gt;        &lt;td valign="top" width="184"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;On constate que le travail essentiel consiste à mettre en correspondance la &lt;a href="http://www.oiseau.info/classification.html" target="_blank"&gt;taxinomie&lt;/a&gt; adoptée pour les oiseaux avec le modèle (très orienté vers des fichiers musicaux) que propose le container ID3. On tient compte également de la façon dont le lecteur MP3 va visualiser les différents éléments, et de la navigation qui est proposée en standard. &lt;/p&gt;  &lt;h4&gt;Modèles&amp;#160; &lt;br /&gt;&lt;/h4&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="758"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="462"&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TTVL8APsClI/AAAAAAAAESU/w6RPUzfn1Fc/s1600-h/taxinomie%5B9%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="taxinomie" border="0" alt="taxinomie" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TTVL8mf3Y1I/AAAAAAAAESY/mRODXm-IYoU/taxinomie_thumb%5B6%5D.jpg?imgmax=800" width="369" height="291" /&gt;&lt;/a&gt; &lt;/td&gt;        &lt;td valign="top" width="294"&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TTVL9DSb3VI/AAAAAAAAESc/SOQVzhQtUWg/s1600-h/modele%20ID3%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="modele ID3" border="0" alt="modele ID3" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TTVL9yMLKHI/AAAAAAAAESg/xCwSRxBZYG4/modele%20ID3_thumb%5B3%5D.jpg?imgmax=800" width="372" height="285" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Voici le &lt;strong&gt;méta-modèle&lt;/strong&gt; qui peut être utilisé pour un catalogue quelconque:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TTVL-6-WahI/AAAAAAAAESk/_3JXrb5Ma98/s1600-h/metamodele%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="metamodele" border="0" alt="metamodele" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TTVL_ZpOD6I/AAAAAAAAESo/uFsHADHbnNY/metamodele_thumb%5B3%5D.jpg?imgmax=800" width="399" height="305" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(en italique, on retrouve le tag ID3 qui peut être utilisé pour la correspondance)&lt;/p&gt;  &lt;p&gt;Remarques:&amp;#160; Le méta-modèle des tags ID3 présenté ci-dessus est très approximatif. Il tient surtout compte de la navigation qui est proposée par l’Ipod nano.    &lt;br /&gt;Dans le cas de notre exemple (oiseaux), et au niveau de la correspondance, les seuls &lt;em&gt;catégoriseurs&lt;/em&gt; retenus sont : Compositeurs et Genre. L’album n’est pas retenu comme niveau de groupement car cela entraine des effets de bord indésirables. J’ai été amené à l’utiliser pour contenir à nouveau le nom commun, afin de pouvoir bénéficier de la navigation par &lt;em&gt;Cover Flow&lt;/em&gt;. Quant au tag Artiste, je l’ai utilisé pour le nom scientifique, bien qu’on aurait pu placer ce nom dans le titre du morceau, avec les noms communs Français et Anglais (sous la forme : nomFR / nomENG / Nom scientifique).     &lt;br /&gt;Par conséquent, les trois tags: &lt;em&gt;Album, artiste et morceau&lt;/em&gt; désignent une même entité qui est l’oiseau lui-même.    &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Remplissage des Tags&lt;/h4&gt;  &lt;p&gt;Les fichiers au format MP3 existent déjà puisque il s’agit de ceux qui ont été téléchargés depuis le web, ou bien achetés. Il faut maintenant alimenter les tags ID3 à l’intérieur de ces fichiers. On réalise cette opération, soit manuellement avec iTunes, soit avec un logiciel spécialisé comme &lt;a href="http://www.mp3tag.de" target="_blank"&gt;MP3Tag&lt;/a&gt;, soit en mode automatisé si on a un grand nombre de fichiers à incorporer. Dans ce dernier cas j’utilise pour cela un outil qui s’appelle &lt;a href="http://eyed3.nicfit.net/" target="_blank"&gt;eyeD3&lt;/a&gt;. C’est un addon pour Python, qui, bien que destiné à Linux, &lt;a href="http://www.megasolutions.net/python/Installation-of-eyeD3-on-Windows-(newbie)-64315.aspx" target="_blank"&gt;peut cependant fonctionner sous Windows&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Une fois les fichiers ”gavés” de métadonnées, il faut créer la bibliothèque sous iTunes, puis synchroniser son iPod.&lt;/p&gt;  &lt;p&gt;Pour un catalogue de timbres, par exemple,, il est évident que la partie sonore n’est qu’un prétexte puisque cette partie sera vide. On prendra alors un fichier .MP3 qui sera réduit à sa plus simple expression (silence d’une seconde, ou bruit neutre très court). L’intérêt est apporté par les facilités de navigation et de recherche fournies par le lecteur mp3.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;Annexes&lt;/h4&gt;  &lt;h5&gt;Exemples de lignes de commande pour EyeD3&lt;/h5&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="764"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="77"&gt;&lt;strong&gt;Tag&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="685"&gt;&lt;strong&gt;Commande&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="77"&gt;Title&lt;/td&gt;        &lt;td valign="top" width="685"&gt;         &lt;p&gt;&lt;font face="Courier New"&gt;python EyeD3 --set-encoding=utf8 --title=&amp;quot;Puffin majeur / Great Shearwater&amp;quot; xxx.mp3&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="77"&gt;Compositeur&lt;/td&gt;        &lt;td valign="top" width="685"&gt;         &lt;p&gt;&lt;font face="Courier New"&gt;python EyeD3&amp;#160; --set-text-frame=TCOM:&amp;quot;Anseriformes&amp;quot; xxx..mp3&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="77"&gt;Illustration&lt;/td&gt;        &lt;td valign="top" width="685"&gt;         &lt;p&gt;&lt;font face="Courier New"&gt;python EyeD3 --set-image=xxx.jpg:FRONT_COVER xxx.mp3&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; Version de ce post: 1.1&amp;#160; &lt;br /&gt;1.1 : Ajout méta-modèle.    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6030648308542519741?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6030648308542519741/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6030648308542519741' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6030648308542519741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6030648308542519741'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2011/01/mp3id3-as-generic-container-for-non.html' title='MP3/ID3 as a generic container for a non music related catalog'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_jca2-r9Sg1s/TSovSlT9fmI/AAAAAAAAESI/LX3sszjGfCI/s72-c/IMG_4510-1_thumb%5B15%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-2903192298807152487</id><published>2010-10-07T11:42:00.000+02:00</published><updated>2010-10-07T11:42:59.677+02:00</updated><title type='text'>Jdeveloper - Contournement pour Illegal character in path sous Windows</title><content type='html'>Contournement pour la plateforme Windows&lt;br /&gt;Symptome avec Jdeveloper:&lt;br /&gt;Lors du run de l'application de demo FOD, ou bien toute autre application, le serveur WLS intégré retourne une erreur&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;MDSRuntimeException: Illegal character in path&lt;/span&gt;&lt;br /&gt;Contournement: avant de lancer jdeveloper.exe, fixer la valeur de la variable d'environnement&lt;br /&gt;&lt;b&gt;JDEV_USER_HOME&lt;/b&gt; vers un repertoire dont le nom ne contient aucun espace.&lt;br /&gt;Par défaut, un repertoire est créé sous c:\Document and Settings\ ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-2903192298807152487?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/2903192298807152487/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=2903192298807152487' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2903192298807152487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2903192298807152487'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/10/jdeveloper-contournement-pour-illegal.html' title='Jdeveloper - Contournement pour Illegal character in path sous Windows'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-191317688776321382</id><published>2010-08-27T21:39:00.010+02:00</published><updated>2010-08-29T13:56:29.701+02:00</updated><title type='text'>Radio privée sur Freebox avec VLC , IceCast et Freemi</title><content type='html'>Voici quelques notes pour réaliser une radio privée, de type &lt;i&gt;webradio&lt;/i&gt;, destinée à être reçue par plusieurs récepteurs de type FreeBox ou autres.&lt;br /&gt;Le cas d’usage est celui on l’on désire passer d’une pièce à l’autre tout en écoutant le même morceau de musique à partir d’une FreeBox TV HD.&lt;br /&gt;&lt;br /&gt;Version de ce post: 1.1&lt;br /&gt;&lt;h4&gt;Configuration matérielle nécessaire&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;FreeBox 5 ADSL&lt;/li&gt;&lt;li&gt;PC Windows XP SP3 ou +&lt;/li&gt;&lt;li&gt;FreeBox TV Nro 1&lt;/li&gt;&lt;li&gt;FreeBox TV Nro 2 (optionnel)&lt;/li&gt;&lt;li&gt;Un serveur contenant les fichiers MP3 à diffuser (cela peut être le PC mentionné plus haut ou bien un serveur NAS connecté sur le routeur de la Freebox)&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Principe&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Mettre en place un serveur de diffusion de type &lt;em&gt;&lt;a href="http://www.shoutcast.com/" target="_blank"&gt;shoutcast&lt;/a&gt;&lt;/em&gt; qui s’appelle IceCast2 (similaire et gratuit) &lt;/li&gt;&lt;li&gt;Générer un flux musical en &lt;em&gt;streaming&lt;/em&gt; avec VLC vers le serveur de diffusion IceCast, à partir des fichiers MP3 situés sur un disque accessible en direct ou depuis un NAS&lt;/li&gt;&lt;li&gt;Référencer le serveur IceCast au niveau du serveur UpnP Freemi&lt;/li&gt;&lt;li&gt;Au niveau de la FreeBox, choisir la source radio créée précédemment et effectuer la même opération sur l’autre FreeBox ou bien sur tout autre récepteur possédant une connexion wifi/CPL ainsi qu’un client de réception (VLC, Winamp, Windows Media Player, etc.). Le Logiciel Freemi a la capacité de présenter au décodeur de la Freebox, un flux MP3 comme s'il s'agissait d'un flux Audio Mpeg2. Pour mémoire, le décodage de flux MP3 ne'est pas supporté par Freebox TV.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Logiciels nécessaires pour Windows XP&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;VLC Media Player 1.1.3 de &lt;a href="http://www.videolan.org/" target="_blank"&gt;Videolan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;IceCast2 2.3.2 &lt;a href="http://www.icecast.org/" target="_blank"&gt;icecast.org&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Freemi UpNp Media Server 0.4.8 &lt;a href="http://freemiplayer.free.fr/" target="_blank"&gt;Freemi&lt;/a&gt;&amp;nbsp; &lt;br /&gt;Ce logiciel est dédié à la FreeBox&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Optionnel&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.apple.com/itunes/" target="_blank"&gt;iTunes&lt;/a&gt; ou &lt;a href="http://www.winamp.com/" target="_blank"&gt;Winamp&lt;/a&gt; pour créer les playlists&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Détails de réalisation&lt;/h4&gt;Nous allons prendre un exemple simple qui consiste à créer une radio qui diffuse de la musique de type Latino (Bossa Nova, Salsa, Cubaine, Mexicaine, etc .)&lt;br /&gt;&lt;h5&gt;Installation et démarrage du serveur IceCast&lt;/h5&gt;Effectuer une installation standard et démarrer le serveur. Cette étape est très rapide. Si problème, consulter la &lt;a href="http://www.icecast.org/docs/" target="_blank"&gt;documentation de icecast&lt;/a&gt;&lt;br /&gt;&lt;h5&gt;Création d’une Playlist&lt;/h5&gt;Créer une playlist (fichier avec l’extension m3u) recensant les fichiers MP3 à diffuser. ici, on peut se faire aider du logiciel iTunes qui propose de créer une playlist dynamique à partir d’une combinaison de critères, dont le Genre. Il est entendu que les morceaux de musique doivent avoir été tagués correctement au préalable. Si ce n’est pas le cas, alors la constitution de la playlist doit être faite manuellement.&lt;br /&gt;On suppose que la playlist est enregistrée dans le répertoire: c:\music\latino.m3u&lt;br /&gt;&lt;h5&gt;Diffusion d’un flux en streaming&lt;/h5&gt;&lt;h6&gt;Paramétrage initial de VLC pour le protocole Shoutcast&lt;/h6&gt;Paramétrer VLC de manière à ce qu’il diffuse en format MP3 si le streaming utilise le protocole Shoutcast. Par défaut, VLC diffusera un flux ogg Vorbis, utilisé généralement par un serveur ShoutCast.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Outils/Préférences -&amp;nbsp; Paramètres/Tous&lt;/li&gt;&lt;li&gt;Flux de Sortie/Shoutcast : Cocher l’option Diffuser en MP3.&lt;/li&gt;&lt;li&gt;Sortie de VLC.&lt;/li&gt;&lt;/ul&gt;&lt;h6&gt;Lancement d’un &lt;em&gt;client&lt;/em&gt; d’émission de flux musical&lt;/h6&gt;Lancer VLC en mode commande (c’est à dire dans une fenêtre DOS) avec les paramètres suivants:&lt;br /&gt;&lt;pre class="csharpcode"&gt;C:\Program Files\VideoLAN\VLC&amp;gt;vlc c:\music\latino.m3u --random --sout&lt;br /&gt;=#std{access=shout,mux=ogg,dst=source:hackme@localhost:8000/Latino} --no-sout-rtp-sap --no-sout-standard-sap --sout-keep&lt;/pre&gt;&lt;br /&gt;Remarque sur cette commande&lt;br /&gt;&lt;br /&gt;VLC est considéré, vis à vis du serveur Icecast, comme un &lt;i&gt;Source Client&lt;/i&gt;, par opposition au &lt;i&gt;Listener Client&lt;/i&gt;&amp;nbsp;, rôle qui sera joué par le logiciel Freemi. VLC utilise le login de connexion &lt;i&gt;source:hackme&lt;/i&gt; (configuration par défaut de icecast) pour diffuser vers le serveur icecast. Le protocole utilisé est de type &lt;em&gt;Shoutcast&lt;/em&gt; et une radio avec le nom /Latino sera automatiquement créée sur le serveur Icecast.&lt;br /&gt;&lt;br /&gt;le paramètre –-random permet de puiser dans la playlist et d’envoyer les flux à IceCast dans un ordre aléatoire. C’est ce qui renouvellera l’intérêt pour écouter des morceaux déjà connus. Il est tout à fait possible de lancer d’autres instances de VLC, chacune diffusant un genre de musique particulier. &lt;br /&gt;&lt;br /&gt;Variante: Il est possible d’obtenir le même résultat en lançant VLC en mode interactif. Dans ce cas, il faudra effectuer les manipulations suivantes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Media/Diffusion&lt;/li&gt;&lt;li&gt;Fichier /Ajouter – Choisir le fichier de&amp;nbsp; playlist&lt;/li&gt;&lt;li&gt;Diffuser – Suivant&lt;/li&gt;&lt;li&gt;Destinations / Nouvelle Destination – IceCast – Ajouter&lt;/li&gt;&lt;li&gt;Adresse: adresse IP du PC&lt;/li&gt;&lt;li&gt;Port: Laisser 8000&lt;/li&gt;&lt;li&gt;Point de montage: entrer : &lt;em&gt;Latino&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Utilisateur: mot de passe: &lt;em&gt;source:hackme&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Désélectionner l’option : Activer le transcodage&lt;/li&gt;&lt;li&gt;Diffuser&lt;/li&gt;&lt;/ul&gt;Il est utile de vérifier comment s’effectue la diffusion par VLC en choisissant l’option Vues/Listes de Lecture&lt;br /&gt;&lt;h5&gt;Vérification de la réception du flux par IceCast&lt;/h5&gt;Avec un navigateur, se connecter sur l’URL: &lt;a href="http://localhost:8000/"&gt;http://localhost:8000/&lt;/a&gt;&lt;br /&gt;Si tout est OK, alors l’interface doit afficher la présence d’un nouveau point de montage: Mount Point /Latino&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 13px; font-weight: bold;"&gt;Créer une référence à cette nouvelle radio virtuelle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ajouter un nouveau répertoire: c:\music\radios&lt;br /&gt;Créer un nouveau fichier dans c:\music\radios qui s’appellera : Latino.strm&lt;br /&gt;ajouter la simple ligne suivante: &lt;a href="http://localhost:8000/Latino"&gt;http://localhost:8000/Latino&lt;/a&gt;&lt;br /&gt;&lt;h5&gt;Installer et lancer lancer le serveur UpNp Freemi&lt;/h5&gt;Dans l’icone de configuration, ajouter la référence à la nouvelle radio:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Configuration/Tous Les médias/&lt;/li&gt;&lt;li&gt;Ajouter une ligne : Libellé: Mes Radios&lt;/li&gt;&lt;li&gt;Dossier: c:\music\radios&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;IMPORTANT: A ce stade, il est probable qu’il faille ouvrir des ports supplémentaires sur le PC windows au niveau du Pare-Feu.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Les ports concernés sont: 8000 pour IceCast et 51234 pour Freemi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Consulter la documentation Windows sur ce sujet abondamment illustré dans les forums.&lt;/span&gt;&lt;/span&gt;&lt;/h5&gt;&lt;h5&gt;Au niveau de la freeBox TV&lt;/h5&gt;&lt;ul&gt;&lt;li&gt;Choisir l’option &lt;em&gt;Magneto&lt;/em&gt; du panneau principal&lt;/li&gt;&lt;li&gt;Sélectionner le serveur UpNp qui doit apparaitre dans la liste des périphériques disponibles&lt;/li&gt;&lt;li&gt;Naviguer jusqu’à voir: &lt;em&gt;Tous les Medias/Mes radios/Latino&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;Cette opération peut être réalisée sur l’autre boitier FreeBox TV&lt;br /&gt;La musique sera parfaitement synchrone entre les deux&amp;nbsp;boitiers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Contraintes&amp;nbsp;et Limitations&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Un PC doit rester allumé&lt;/li&gt;&lt;li&gt;Trois logiciels sont à pré-démarrer sur le PC (mais ils ne&amp;nbsp;consomment,&amp;nbsp;ni&amp;nbsp;beaucoup&amp;nbsp;de cpu, ni&amp;nbsp;beaucoup&amp;nbsp;de&amp;nbsp;mémoire)&lt;/li&gt;&lt;li&gt;Les touches suivant/Précédent sont&amp;nbsp;inopérantes&amp;nbsp;sur la télécommande Free pour passer à un autre morceau. Il faut utiliser la touche &lt;i&gt;Stop&lt;/i&gt;, puis&amp;nbsp;sélectionner&amp;nbsp;le suivant, puis la touche &lt;i&gt;Ok&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Je n'ai pas trouvé le moyen d'enrichir la &lt;a href="http://mafreebox.freebox.fr/freeboxtv/playlist.m3u"&gt;playlist des radios&lt;/a&gt; qui est proposée en standard dans la Freebox TV (Menu &lt;i&gt;Radios&lt;/i&gt;). Cela aurait été plus ergonomique de proposer la radio privée dans la même interface que celle des autres radios.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-191317688776321382?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/191317688776321382/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=191317688776321382' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/191317688776321382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/191317688776321382'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/08/radio-privee-sur-freebox-avec-vlc.html' title='Radio privée sur Freebox avec VLC , IceCast et Freemi'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-1829572537247238976</id><published>2010-07-16T17:17:00.002+02:00</published><updated>2010-07-19T14:52:43.319+02:00</updated><title type='text'>Oracle WebCenter Spaces Governance</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a title="Site Oracle" href="http://www.oracle.com" target="_blank"&gt;Oracle&lt;/a&gt; WebCenter Space allows creation of Collaboratives areas. As it’s very easy to create a WorkSpace, it’s common to observe a workspace proliferation. So, it can be useful to check&amp;nbsp; the activity inside each of Spacers, and decide if it has to be archived depending the audience.&lt;/p&gt; &lt;p&gt;This post explains how to setup a very simple diagram which provides, inside WebCenter Space, an overall activity statistics for a given Workspace.The idea relies on the fact that activity is recorded in database Table.&lt;/p&gt; &lt;h4&gt;Prerequisites&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;Oracle WebCenter Spaces is already installed  &lt;li&gt;The schema which contains Spaces metadata is : DEV_WEBCENTER (or an other name) and the password must be known.&lt;/li&gt;&lt;/ul&gt; &lt;h4&gt;Steps&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;Create the following objects in DEV_WEBCENTER schema, with sqlplus or a similar tool&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;font face="Courier New"&gt;create type ext_array as table of number;&lt;/font&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;create function&lt;br&gt;&amp;nbsp; ext_gen_numbers(n in number default null)&lt;br&gt;&amp;nbsp; return ext_array&lt;br&gt;&amp;nbsp; PIPELINED&lt;br&gt;&amp;nbsp; as&lt;br&gt;&amp;nbsp; begin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in 1 .. nvl(n,999999999)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loop&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pipe row(i);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end loop;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br&gt;&amp;nbsp; end;&lt;/font&gt;  &lt;ul&gt; &lt;li&gt;Create a diagramm with &lt;strong&gt;omniportlet&lt;/strong&gt; tool (it’s a generic portlet which allows to create diagrams or lists based on SQL statements, XML, etc)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Along the wizzard, choose a SQL source, then enter the following statement:  &lt;p&gt;&lt;font face="Courier New"&gt;select to_char(B.ti,'Month YY') month, nvl(A.nb,0) nb from (&lt;br&gt;select trunc(activity_time,'MONTH') ti, count(*) nb&lt;br&gt;from WC_SPACE_HEADER S,&lt;br&gt;WC_AS_ACTIVITY_ELEMENT A&lt;br&gt;where S.DISPLAY_NAME='ODrink'&lt;br&gt;group by trunc(activity_time,'MONTH')&lt;br&gt;) A,&lt;br&gt;(&lt;br&gt;select add_months(trunc(sysdate,'MONTH'),-column_value+1) ti&lt;br&gt;&amp;nbsp; from TABLE(ext_gen_numbers(12))&lt;br&gt;) B&lt;br&gt;where A.ti(+) = B.ti&lt;br&gt;order by B.ti&lt;/font&gt; &lt;p&gt;In the Layout tab, choose Line displaying:  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TEB3744FXSI/AAAAAAAADm8/vWQMyQ08lO0/s1600-h/image%5B24%5D.png" target="_blank"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="316" alt="image" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TEB39aYMh5I/AAAAAAAADnA/Vb6mxSfhlVQ/image_thumb%5B18%5D.png?imgmax=800" width="450" border="0"&gt;&lt;/a&gt;  &lt;p&gt;After validating, this is the result which can be easily obtained:  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TEB3_EhXmGI/AAAAAAAADnE/wh3R8Jfvj_o/s1600-h/image%5B25%5D.png" target="_blank"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="328" alt="image" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TEB4AsmUukI/AAAAAAAADnI/ICyUKvc88mM/image_thumb%5B19%5D.png?imgmax=800" width="546" border="0"&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;By instancing the omniportlet multiple time, one can setup a complet dashboard: The following SQL provides &lt;em&gt;Page activity&lt;/em&gt; for all the spaces (only three in our sample, but it’s just a demo):&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;select display_name, count(*) nb&lt;br&gt;from WC_SPACE_HEADER S,&lt;br&gt;WC_AS_ACTIVITY_ELEMENT A&lt;br&gt;where A.SCOPE_ID = S.SPACE_GUID and&lt;br&gt;service_id like 'oracle.webcenter.page%'&lt;br&gt;group by display_name, service_id&lt;/font&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TEB4CbKwMKI/AAAAAAAADnM/5bovqzOOa2Q/s1600-h/image%5B26%5D.png" target="_blank"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="334" alt="image" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TEB4D2iTI0I/AAAAAAAADnQ/MVyOcy8BZlg/image_thumb%5B20%5D.png?imgmax=800" width="519" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Version: 1.1 19-Aug-2010&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1829572537247238976?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1829572537247238976/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1829572537247238976' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1829572537247238976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1829572537247238976'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/07/oracle-webcenter-spaces-governance.html' title='Oracle WebCenter Spaces Governance'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_jca2-r9Sg1s/TEB39aYMh5I/AAAAAAAADnA/Vb6mxSfhlVQ/s72-c/image_thumb%5B18%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-3414454433357080117</id><published>2010-07-05T20:05:00.005+02:00</published><updated>2010-07-21T20:51:48.914+02:00</updated><title type='text'>Oracle Dynamic Converter</title><content type='html'>&lt;a href="http://download.oracle.com/docs/cd/E10316_01/DynamicConverter/WebHelp-Admin/index.htm" target="_blank"&gt;Oracle Dynamic Converter&lt;/a&gt; est un composant du produit &lt;a href="http://www.oracle.com/" target="_blank" title="Site Oracle"&gt;Oracle&lt;/a&gt; Universal Content management (UCM)&lt;br /&gt;Ce composant permet de convertir à la volée un document depuis un format donné (MS Office ou autre) vers un format HTML. Cette transformation est conduite à partir d’un &lt;a href="http://download.oracle.com/docs/cd/E10316_01/DynamicConverter/WebHelp-TemplateEditor/index.htm" target="_blank"&gt;Template de conversion&lt;/a&gt;.&lt;br /&gt;Ce Post indique comment valoriser des documents Word existants sur une plateforme internet (commerce électronique, B2B).&lt;br /&gt;&lt;h4&gt;Exemple de scénario à traiter&lt;/h4&gt;Un entreprise commercialise des voyages et souhaite mettre en ligne des fiches descriptives de destinations (Villes, régions, pays) à l’attention des voyageurs. Ces fiches sont rédigées par des rédacteurs indépendants à qui l’entreprise sous-traite ce travail, et qui possèdent une pratique suffisante du traitement de Texte MS Word.&lt;br /&gt;Le besoin du responsable de site consiste à afficher le contenu d’une fiche (au format Word) au sein d’une page HTML sur le site internet de la société, et selon un contexte donné. Par exemple:&amp;nbsp; Afficher la fiche de la ville de Montpellier si l’internaute a exprimé son intérêt pour cette destination, en regard d’autres informations telles que le prix de l’avion ou du train et les hôtels recommandés.&lt;br /&gt;&lt;h4&gt;Principes de mise en œuvre &lt;/h4&gt;Nous allons constituer une bibliothèques de descriptifs de lieux, et définir un Template de conversion dans lequel nous indiquerons quels sont les informations à extraire et comment les présenter à l’affichage. UCM sera utilisé pour le stockage et la gestion du cycle de vie des documents. Toutes les fiches seront enregistrées dans leur format natif MS Word.&lt;br /&gt;&lt;h5&gt;1. Définition d’un template Word&lt;/h5&gt;Afin de disposer de fiches homogènes, il est nécessaire que chaque contributeur utilise une même structure de rédaction.&amp;nbsp; Chaque descriptif de lieu sera structuré selon un découpage par nature d’information: Histoire, environnement, endroits à voir, etc. On définira ainsi un template Word que l’on diffusera à tous les contributeurs.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDJKFMus06I/AAAAAAAADA8/ETOCAVHU8I0/s1600-h/image24%5B8%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="621" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeP1MVXYI/AAAAAAAADBA/6bqd7RQRgfc/image24_thumb%5B7%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="634" /&gt;&lt;/a&gt; &lt;br /&gt;il faudra définir un style de paragraphe pour chacun des types d’information, ainsi qu’une paire de styles qui permettront de délimiter le début et la fin de la section. Par exemple, la section INTRODUCTION sera associée aux styles suivants:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;villeIntroduction&lt;/li&gt;&lt;li&gt;villeIntroductionStart&lt;/li&gt;&lt;li&gt;villeIntroductionEnd &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TDIeRRbu1iI/AAAAAAAAC_U/AIJEA5mlovg/s1600-h/image%5B32%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="458" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeShmKFYI/AAAAAAAAC_Y/uWsrsBfDhGs/image_thumb%5B24%5D.png?imgmax=800" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="image" width="150" /&gt;&lt;/a&gt;&lt;br /&gt;Chaque section sera entourée de deux paragraphes cachés dont le seul rôle sera d’être associé aux styles de marquage de début et de fin de section. Nous verrons, dans la suite, que le style &lt;i&gt;villeIntroduction&lt;/i&gt; pourra être utilisé pour l’extraction d’une section depuis le document word.&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TDIeUPE53jI/AAAAAAAADBE/nStz1yvx4UA/s1600-h/image%5B2%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="278" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TDIeVvPXAJI/AAAAAAAADBM/KZll2CzdTBA/image_thumb%5B1%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="588" /&gt;&lt;/a&gt; &lt;br /&gt;Une fois le template mis au point, il reste à le diffuser. Chaque contributeur enregistra sa ou ses fiches dans le référentiel d’UCM en libre-service, et pourra les modifier à volonté. &lt;br /&gt;&lt;h5&gt;2. Définition d’un Template de conversion Dynamic Converter&lt;/h5&gt;Ce travail doit être réalisé avec la console d’administration de UCM, par un webDesigner de la compagnie. Il y a un assistant spécialisé accessible depuis un navigateur qui permet de mettre au point un Template de conversion&amp;nbsp; par rapport à un fichier échantillon. &lt;br /&gt;On effectue donc un &lt;i&gt;checkin&lt;/i&gt; préliminaire d’un document word qui nous servira de support pour la mise au point. Ce fichier sera, par exemple,&amp;nbsp; le document relatif à la ville de Montpellier que nous avons utilisé pour la mise au point du template Word.&lt;br /&gt;Une fois lancé, voici un aperçu de l’éditeur de template de conversion. Le contenu provient du fichier qui a été choisi pour effectuer des prévisualisations. Au fur et à mesure que l’on affinera la structure du template, l’éditeur affichera le contenu du document en conséquence.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeXKKEwjI/AAAAAAAADBQ/c4g6NAJXVYA/s1600-h/image6%5B2%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="459" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeZa7n4HI/AAAAAAAADBY/68j9b1k32GI/image6_thumb%5B1%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="597" /&gt;&lt;/a&gt; &lt;br /&gt;Sans effort supplémentaire et sans ajout de feuille de style CSS, voici un premier résultat de conversion tel qu’on peut l’obtenir par défaut. &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIeambYtNI/AAAAAAAADBc/5FTTURNXqiE/s1600-h/image21%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="332" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TDIecXhUTvI/AAAAAAAADBg/N9_HaS_L89I/image21_thumb.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="403" /&gt;&lt;/a&gt; &lt;br /&gt;Le résultat se présente donc sous la forme d’un document HTML.&lt;br /&gt;La mise au point consiste à décrire comment les styles présents dans le documents word doivent être transformés en balises HTML. Il faut déclarer manuellement, dans le Template de conversion, les styles qui sont présents dans Word. En effets, les styles ne sont pas importés automatiquement depuis l’échantillon utilisé pour la mise au point du gabarit. Le principe consiste à déclarer les styles qui ont été utilisés dans MS Word (en reprenant la même orthographe) et à les associer à des éléments possédant un nom arbitraire. Ce sont ces éléments qui nous permettront d’affiner les conditions d’affichages (association de la balise HTML associée)&lt;br /&gt;&amp;nbsp;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TDIedx_0Y9I/AAAAAAAADBo/PgoJiLXcnNI/s1600-h/image1%5B5%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="566" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIegmBSBkI/AAAAAAAADBw/DDMTfdPf98c/image1_thumb%5B4%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="601" /&gt;&lt;/a&gt; &lt;br /&gt;Dans le cas d’un titre de chapitre de niveau 2, par exemple, on déclarera un style générique Heading 2 qui a été utilisé dans Word, avec la même orthographe, et on l’associera à un élément Titre2. Toutes les règles d’affichage de l’élément seront spécifiées dans le menu Formating. Dans le cas d’une section du document comprenant plusieurs paragraphes, chacun d’eux sera instancié en un élément correspondant s’il y a correspondance sur le nom du style. &lt;br /&gt;&lt;h5&gt;3. Mise au point d’une feuille de style CSS&lt;/h5&gt;C’est ici que réside la beauté du produit. En effet, le convertisseur est en mesure de produire un contenu XHTML débarrassé de tout élément de style, et qui pourra donc être remanié avec une feuille de style CSS. Dans notre exemple, nous allons réaliser un affichage standard HTML avec le paragraphe d’introduction placé dans un encart à droite. Il faut que la section &lt;i&gt;Introduction&lt;/i&gt; soit contenue dans un &lt;i&gt;container&lt;/i&gt; DIV. Les styles de marquage de début et fin servent à cet usage.&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIeh4wzd3I/AAAAAAAAC_8/GnaQ8mWeDVI/s1600-h/image12%5B2%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="287" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIejQKXosI/AAAAAAAADAA/XnjMMzsZe84/image12_thumb%5B1%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="390" /&gt;&lt;/a&gt; &lt;br /&gt;Le style villeHiddenStart, présent dans le documentWord, sera associé à la création d’un élément appelé introstart. A cet élément, le module de conversion générera dans le flot HTML une balise DIV telle qu’on la définira dans l’assistant.&lt;br /&gt;&amp;nbsp;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIekuHu0vI/AAAAAAAADB0/ZGwv3aMFxkw/s1600-h/image15%5B3%5D.png"&gt;&lt;img alt="image" border="0" height="267" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIemQk1USI/AAAAAAAADB8/ashVObypwbk/image15_thumb%5B2%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="283" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIennPKgkI/AAAAAAAADCI/4U6pY3Ce1EE/s1600-h/image18%5B8%5D.png"&gt;&lt;img alt="image" border="0" height="271" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIepMvm2RI/AAAAAAAADCM/61qK49-SheE/image18_thumb%5B7%5D.png?imgmax=800" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="image" width="287" /&gt;&lt;/a&gt;&lt;br /&gt;On fermera le bloc DIV en référencent le second style dont l’objet sera de créer un élément comportant la balise de fermeture /DIV.&lt;br /&gt;La référence à la feuille de style s’effectue en indiquant le &lt;i&gt;path&lt;/i&gt; relatif dans une propriété du template. Cette feuille de style sera elle-même gérée dans le référentiel UCM.&lt;br /&gt;Voici le résultat qui est produit&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeqpxyS3I/AAAAAAAADCU/OsuKsgiiKWA/s1600-h/image30%5B1%5D%5B2%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="441" src="http://lh6.ggpht.com/_jca2-r9Sg1s/TDIesYdGCoI/AAAAAAAADCg/26PMz-Zx010/image30%5B1%5D_thumb%5B1%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="625" /&gt;&lt;/a&gt;&lt;br /&gt;Est-ce que l’on aurait pu utiliser le style villeIntroduction (qui avait été appliqué aux paragraphes de la section Introduction dans le document Word) ? Non, pour une raison qui est fournie en annexe.&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;4. Incorporation dans un portail existant&lt;/h5&gt;Nous allons prendre deux exemples de site consommateur des documents: Un portail et un blog&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #333333;"&gt;WebCenter&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #333333;"&gt;Wordpress&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;L’url d’appel au module Dynamic Converter est de cette forme: &lt;br /&gt;&lt;a href="http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased"&gt;http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased&lt;/a&gt;&lt;br /&gt;Un paramètre supplémentaire &lt;b&gt;conversionTemplate&lt;/b&gt; permet de préciser quel est le template qui doit être utilisé pour la conversion. Sans mention, c’est le template défini par défaut qui sera&amp;nbsp; choisi&lt;br /&gt;Supposons que l’on souhaite extraire uniquement la section des livres à lire concernant une ville, afin de la juxtaposer dans une portlet au sein d’un portail B2B. Dans ce cas, nous mettons en œuvre une template dont le seul rôle sera d’extraire un ensemble de paragraphes depuis un document.&lt;br /&gt;&lt;a href="http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased&amp;amp;conversionTemplate=TEMPLATEFICHEVILLEINTRO" title="http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased&amp;amp;conversionTemplate=TEMPLATEFICHEVILLEINTRO"&gt;http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased&amp;amp;conversionTemplate=TEMPLATEFICHEVILLEINTRO&lt;/a&gt;&lt;br /&gt;Ci-dessous, il s’agit d’une variante du template vu précédemment. La différence réside dans le fait que seule la section &lt;i&gt;Introduction&lt;/i&gt; sera extraite par le convertisseur&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIettPaaJI/AAAAAAAADAc/PxymssvVIL0/s1600-h/image%5B28%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="254" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIevJ0O0zI/AAAAAAAADAg/kNihNXWGQ0A/image_thumb%5B20%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="376" /&gt;&lt;/a&gt;&lt;br /&gt;Toutes les autres sections seront masquées dans le document HTML résultant.&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TDIewljYQ0I/AAAAAAAADCk/3bHRzr1PTcY/s1600-h/image17%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="184" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeyxLVX4I/AAAAAAAADCo/--TPIu3qCFc/image17_thumb.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="364" /&gt;&lt;/a&gt; &lt;br /&gt;L’habillage final du texte reste un travail classique d’application de feuille de style. Dans WebCenter, c’est un portlet de type Web Clipping qui sera utilisé afin d’appeler l’URL mentionnée plus haut. Cette URL pourra bien sur être appelée avec des paramètres de contexte qui permettront d’afficher une ville plutôt qu’une autre.&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/TDIe0RmixuI/AAAAAAAADAs/bXCR-nOY7L0/s1600-h/image%5B30%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="207" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDIe2L9AtCI/AAAAAAAADAw/KeezYFFneY4/image_thumb%5B22%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="372" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;h5&gt;Utilisation avec Wordpress&lt;/h5&gt;Dans le cas de Wordpress, on utilise un plugin de &lt;i&gt;scrapping/clipping tel que &lt;b&gt;&lt;a href="http://webdlabs.com/projects/wp-web-scraper/" target="_blank"&gt;WP Web Scrapper&lt;/a&gt;.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;L’échantillon ci-dessous montre un post dans lequel est inclus l’appel à l’URL utilisée plus haut. On obtient ainsi l’affichage de la section d’introduction au sein d’un post. &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/TDJVqVKdENI/AAAAAAAADDI/MgaLH3s9FNg/s1600-h/image%5B8%5D.png"&gt;&lt;img alt="image" border="0" height="364" src="http://lh3.ggpht.com/_jca2-r9Sg1s/TDJVr7vRZDI/AAAAAAAADDM/lIs_CMT1wMA/image_thumb%5B5%5D.png?imgmax=800" style="border: 0px none; display: inline; margin-left: 0px; margin-right: 0px;" title="image" width="524" /&gt;&lt;/a&gt; &lt;br /&gt;Wordpress permet la réalisation de pages qui échappent à la logique chronologique des posts, et ainsi on peut élaborer une page thématique sur une destination de voyage. &lt;br /&gt;Avec une simple inclusion de la fonction de clipping suivante: [wpws url="http://wc/idc/idcplg?IdcService=GET_DYNAMIC_CONVERSION&amp;amp;dDocName=FICHE12&amp;amp;RevisionSelectionMethod=LatestReleased" selector="body" user_agent="My Bot"]&lt;br /&gt;voici une exemple de page dans laquelle est affichée la totalité de la fiche Montpellier:&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TDJVtNEhjnI/AAAAAAAADDQ/uixtpSL_tAA/s1600-h/image%5B12%5D.png"&gt;&lt;img alt="image" border="0" height="456" src="http://lh5.ggpht.com/_jca2-r9Sg1s/TDJVu1o3csI/AAAAAAAADDY/SmXvSUZRy7U/image_thumb%5B7%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="628" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;h4&gt;&amp;nbsp;&lt;/h4&gt;&lt;h4&gt;Conclusion&lt;/h4&gt;Le produit UCM Dynamic Converter constitue une réponse à la fois technique mais également organisationnelle pour la mise en place d’une chaine éditoriale:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Les contributeurs se concentrent sur la rédaction avec un minimum de contraintes (templates Word)&lt;/li&gt;&lt;li&gt;Les responsables métiers vérifient la qualité de l’information et s’appuient sur les fonctions de cycle de vie des documents proposés par UCM&lt;/li&gt;&lt;li&gt;le responsable de la plate-forme technique peut extraire le contenu des documents et le ré-associer avec une charte graphique spécifique.&lt;/li&gt;&lt;li&gt;Un même contenu (ici la fiche descriptive d’une ville) est exploitable en totalité ou bien par fragments&lt;/li&gt;&lt;/ul&gt;Voila donc une situation où la classique opposition entre données structurées et données non structurées perd de sa pertinence. Au contraire, le document constitue ici une source d’information bien vivante, et suffisamment structurée pour une utilisation en aval dans des contextes variés. &lt;br /&gt;&lt;h4&gt;&amp;nbsp;&lt;/h4&gt;&lt;br /&gt;&lt;h4&gt;Annexes&lt;/h4&gt;&lt;h5&gt;Limitation des &lt;i&gt;custom style&lt;/i&gt; pour la génération de bloc DIV&lt;/h5&gt;Si une section comprend plusieurs paragraphes, l’attribution d’un style à plusieurs paragraphes sera interprétée comme autant d’apparitions du style et donnera lieu à autant de sections qu’il y a de paragraphes. Cela empêchera l’application correcte d’une classe d’affichage à un &lt;i&gt;container&lt;/i&gt; DIV, puisqu'il y en aura plusieurs qui porteront le même identifiant.&lt;br /&gt;Contournement: On crée des balises délimitant les début et fin de section, comme vu plus haut.&lt;br /&gt;Remarque: &amp;nbsp;il faudrait qu’il existe dans Word un type de style qui s’applique à un niveau plus haut que le paragraphe. Peut-être est-ce la cas avec une version de Word ??&lt;br /&gt;Voir la note 446708.1 sur le site metalink.&lt;br /&gt;Extrait de la note technique Oracle:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;“…If you want to wrap your &amp;lt;div&amp;gt; tag around a whole list, the problem is that Word treats each line item as a separate paragraph. Dynamic Converter or Content Publisher converts each paragraph and applies the element to a paragraph. Then when you insert code it is getting its own code wrapped around each paragraph or line of the list in this case. You need to get the wrapping of code done around multiple paragraphs. This is not normal for conversion but you can make it work with some simple hidden style paragraphs in Word. This could be accomplished by creating a hidden style called StartOfList and then wrapping your beginning &amp;lt;div&amp;gt; tag around that, with an ending style called EndOfList and the ending &amp;lt;div&amp;gt; tag code around that. This would require the Word document creators to insert these hidden paragraphs. They could be hidden HTML or scripting code directly in the paragraph or it could be a paragraph that has code wrapped around it by the Dynamic Converter template. If Word allowed the whole list inside of one paragraph that would take care of the need for extra hidden styles...”&lt;/i&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;h5&gt;Extrait de la feuille de style pour l’affichage du cartouche&lt;/h5&gt;La classe suivante est utilisée pour la mise en forme de la section &lt;i&gt;Inrtroduction&lt;/i&gt; qui est elle-même dans un container DIV. &lt;br /&gt;#debutIntro { background-color: #f7f7f7; &amp;nbsp;&amp;nbsp;&amp;nbsp; border-bottom: 1px solid #d7dce8;&amp;nbsp;&amp;nbsp;&amp;nbsp; FONT-FAMILY: sans-serif; float:right; width:200px; PADDING-TOP: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; FONT-SIZE: 11;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;&lt;h5&gt;Génération d’un menu de navigation horizontal&lt;/h5&gt;Il est à noter qu’un barre de navigation peut simplement être obtenue en cochant un paramètre qui prend les titres de niveau Heading 1 (ou inférieurs)&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/TDIe3RbsAwI/AAAAAAAADA0/Nvp50-o5DEM/s1600-h/image%5B31%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="164" src="http://lh4.ggpht.com/_jca2-r9Sg1s/TDIe4wzmoaI/AAAAAAAADA4/DAGpN9vmX8k/image_thumb%5B23%5D.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="244" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h5&gt;Troubleshooting&lt;/h5&gt;Lors de la déclaration des styles dans le Template de conversion, un style comme &lt;i&gt;Heading 2&lt;/i&gt; passera si on est en Word 2003, mais ne sera pas reconnu si c’est du word 2007&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Contributions&lt;/h4&gt;Les textes ayant été utilisés pour les tests proviennent du site &lt;a href="http://www.lonelyplanet.fr/_htm/destinations/index.php?mode=notice&amp;amp;param1=montpellier&amp;amp;param2=intro" target="_blank"&gt;Lonely&amp;nbsp; Planet - Introduction de la ville de Montpellier&lt;/a&gt;.&lt;br /&gt;Version de ce post: 1.2&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6fb06b6c-3e12-4fb3-afae-d00bd3821d65" style="display: inline; float: none; margin: 0px; padding: 0px;"&gt;Mots clés Technorati : &lt;a href="http://technorati.com/tags/ucm" rel="tag"&gt;ucm&lt;/a&gt;,&lt;a href="http://technorati.com/tags/wcm" rel="tag"&gt;wcm&lt;/a&gt;,&lt;a href="http://technorati.com/tags/conversion" rel="tag"&gt;conversion&lt;/a&gt;,&lt;a href="http://technorati.com/tags/css" rel="tag"&gt;css&lt;/a&gt;,&lt;a href="http://technorati.com/tags/wordpress" rel="tag"&gt;wordpress&lt;/a&gt;,&lt;a href="http://technorati.com/tags/webcenter" rel="tag"&gt;webcenter, cms, stellent, content&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-3414454433357080117?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/3414454433357080117/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=3414454433357080117' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/3414454433357080117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/3414454433357080117'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/07/oracle-dynamic-converter.html' title='Oracle Dynamic Converter'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_jca2-r9Sg1s/TDIeP1MVXYI/AAAAAAAADBA/6bqd7RQRgfc/s72-c/image24_thumb%5B7%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-4045399444136656253</id><published>2010-04-16T22:48:00.015+02:00</published><updated>2010-04-18T11:25:49.603+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sécurité'/><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><title type='text'>Splendeurs et Périls des Metadonnées</title><content type='html'>Je pensais que les &lt;a href="http://fr.wikipedia.org/wiki/M%C3%A9tadonn%C3%A9e"&gt;metadata&lt;/a&gt; c'était "bien" et que ne pas en mettre c'était "mal".&lt;br /&gt;Et puis j'ai lu ce papier instructif (&lt;a href="http://www.oracle.com/technology/products/content-management/oit/Stellent_wp_MetadataRisks_0307.pdf"&gt;risques entrainés par les metadata)&lt;/a&gt; sur les brèches de sécurité ouvertes par la présence abusive de metadata et d'informations cachées dans un document.&lt;br /&gt;En conclusion de cette étude qui a été menée sur des sites internet publics du &lt;a href="http://en.wikipedia.org/wiki/Fortune_500"&gt;&lt;i&gt;Fortune 100&lt;/i&gt;&lt;/a&gt;,&amp;nbsp; il s'avère qu'il vaut mieux nettoyer de leur métadonnées les documents destinés à être diffusé largement sur un site internet. Cela concerne principalement les documents produits avec MS Office.&lt;br /&gt;Le produit &lt;i&gt;&lt;a href="http://www.oracle.com/technology/products/content-management/oit/cleancontent.html"&gt;Clean Content&lt;/a&gt;&lt;/i&gt; , inclus dans la technologie &lt;a href="http://www.oracle.com/technology/products/content-management/oit/oit_all.html"&gt;Oracle Outside In,&lt;/a&gt; vise cet objectif. Au préalable, cet outil permet d'évaluer les risques potentiels associés à n'importe quel type de document et d'effectuer un &lt;i&gt;metadata cleanup&lt;/i&gt;, si on le souhaite&lt;br /&gt;Testez-le sur un document MSOffice de votre compagnie ou organisation, et vous verrez combien un fichier .ppt ou .doc devient très bavard ! (nom de l'auteur, historique des modifications, commentaires, ajouts enregistrés en mode &lt;em&gt;&lt;a href="http://support.microsoft.com/kb/197978"&gt;Fast Save&lt;/a&gt;&lt;/em&gt;, chemins de repertoires, etc.)&lt;br /&gt;Il peut être utilisé également pour d'autres actions, telles que le &lt;i&gt;split &lt;/i&gt;d'une présentation PowerPoint en autant de fichier .ppt qu'il y a de &lt;i&gt;slides&lt;/i&gt;. Cette approche peut permettre la constitution d'une bibliothèque de &lt;i&gt;slides&lt;/i&gt; avec, à la clef, une possible génération dynamique de présentations selon des critères d'assemblage.&lt;br /&gt;&lt;br /&gt;En résumé, la technologie &lt;i&gt;Outside In&lt;/i&gt; trouve parfaitement sa place dans une architecture SOA: le document constitue un objet vivant qui sera conçu par un humain, ou bien généré par un processus, pour être ensuite passé de mains en mains et être retravaillés par des services spécialisés (Web Services de &lt;i&gt;Outside In&lt;/i&gt;) qui l'enrichiront ou bien le toiletteront selon les circonstances d'utilisation.&lt;br /&gt;&lt;br /&gt;Lire également:&amp;nbsp; &lt;a href="http://www.metadatarisk.org/content_security_risks/cont_security_overview.htm"&gt;http://www.metadatarisk.org/content_security_risks/cont_security_overview.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-4045399444136656253?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/4045399444136656253/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=4045399444136656253' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/4045399444136656253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/4045399444136656253'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/04/perils-et-splendeurs-des-metadonnees.html' title='Splendeurs et Périls des Metadonnées'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-4168096761926740142</id><published>2010-03-26T14:59:00.002+01:00</published><updated>2010-04-18T18:11:43.067+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Injecting Web Content with Oracle Ensemble</title><content type='html'>&lt;a href="http://www.oracle.com/technology/products/webcenter/ensemble/index.html" target="_blank" title="Site Oracle"&gt;Oracle Ensemble&lt;/a&gt; is a product which allows to build composite application from existing content. It falls into the category of &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29" target="_blank"&gt;mashup softwares&lt;/a&gt;, ans it’s included in the Oracle WebCenter Suite package.&lt;br /&gt;In the following exemple, we use it for injecting some web content from a blog site (realized with &lt;a href="http://www.wordpress.org/" target="_blank" title="Wordpress Offical Site"&gt;Wordpress&lt;/a&gt;) into a Content System home page (provided by &lt;a href="http://www.typolight.org/" target="_blank" title="Typolight official site"&gt;Typolight&lt;/a&gt;).&lt;br /&gt;The goal, in our exemple, is to catch the list of categories (surrounded by the red line) and inject this fragment in the target application which is a site dedicated to a music academy&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/S6y9YvjvRpI/AAAAAAAAC68/dvXKKEXiiwU/s1600-h/image%5B50%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="317" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9ZdgdL5I/AAAAAAAAC7A/UFiq5CUrbr0/image_thumb%5B26%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="412" /&gt;&lt;/a&gt;&lt;br /&gt;This is the page generated by the CMS for a sample site. We want to amend this page, without modifying the original code &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9amYUJ6I/AAAAAAAAC7E/s6dSGD6dAKA/s1600-h/image%5B51%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="208" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9cPt6YWI/AAAAAAAAC7I/GuQ2NoV4f7Q/image_thumb%5B27%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="406" /&gt;&lt;/a&gt; &lt;br /&gt;First, it’s important to understand that Oracle Ensemble acts as a &lt;a href="http://en.wikipedia.org/wiki/Reverse_proxy" target="_blank"&gt;reverse proxy&lt;/a&gt;, and we need to call the target application through the proxy.&lt;br /&gt;We defined a new resource in the Ensemble Console, by mapping the internal URL with a new external one. ie:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;internal URL: &lt;a href="http://localhost/typo"&gt;http://localhost/typo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;External URL: &lt;a href="http://localhost:20050/typo"&gt;http://localhost:20050/typo&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S6y9dUmTkzI/AAAAAAAAC7M/-kr9qG2JBcM/s1600-h/image%5B70%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="453" src="http://lh5.ggpht.com/_jca2-r9Sg1s/S6y9eG84LUI/AAAAAAAAC7Q/CLO7Hcgi-k8/image_thumb%5B44%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="404" /&gt;&lt;/a&gt; &lt;br /&gt;Next, we setup a so-called &lt;i&gt;pagelet&lt;/i&gt; by designating what we need to extract in the Blog page:&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/S6y9ezw6h1I/AAAAAAAAC7U/hMYiv4hzyzw/s1600-h/image%5B52%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="209" src="http://lh4.ggpht.com/_jca2-r9Sg1s/S6y9fRbiheI/AAAAAAAAC7Y/CAcSto79RH8/image_thumb%5B28%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="408" /&gt;&lt;/a&gt; &lt;br /&gt;A wizard allows to display all the part of the HTML page, and pick the desired portion of page (&lt;i&gt;webclipping&lt;/i&gt;).&lt;br /&gt;This pagelet must be injected by defining before an &lt;i&gt;injector&lt;/i&gt;. The setup is very simple: We choose the pagelet and we indicate the place where the pagelet has to be injected. &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S6y9gNU4ReI/AAAAAAAAC7c/UQ5sW7L8pdk/s1600-h/image%5B54%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="206" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9hZAtdxI/AAAAAAAAC7g/uRWidDHXHOg/image_thumb%5B30%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="401" /&gt;&lt;/a&gt;&lt;br /&gt;altough it’s not mandatory, we can use a tool for Mozilla: &lt;a href="http://chrispederick.com/work/web-developer/help/" target="_blank"&gt;Web Developer&lt;/a&gt;, to show the different tags in tage page.&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S6y9i-cIkAI/AAAAAAAAC7k/SZd9qC_LnoU/s1600-h/image%5B53%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="201" src="http://lh4.ggpht.com/_jca2-r9Sg1s/S6y9j6s4FLI/AAAAAAAAC7o/m8L0qZarNcI/image_thumb%5B29%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="404" /&gt;&lt;/a&gt;&lt;br /&gt;As show in the following screenshot, we tell to &lt;i&gt;Ensemble&lt;/i&gt; to inject the fragment before the text: &lt;span style="font-family: Courier New;"&gt;&amp;lt;H1&amp;gt;Breaking news&amp;lt;H1&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9kmxoZeI/AAAAAAAAC7s/4AbWF-4a0ZA/s1600-h/image%5B55%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="203" src="http://lh5.ggpht.com/_jca2-r9Sg1s/S6y9lVtPUYI/AAAAAAAAC7w/x4PjI0FpAH0/image_thumb%5B31%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="396" /&gt;&lt;/a&gt;&lt;br /&gt;Finaly, we choose the new injector previously defined, to be used for each call to the target application. &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S6y9mPen7zI/AAAAAAAAC70/ESbbsIGNz4c/s1600-h/image%5B56%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="208" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9oLj26TI/AAAAAAAAC74/4b5CYdfVR1g/image_thumb%5B32%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="405" /&gt;&lt;/a&gt;&lt;br /&gt;This is the final result: We can see that the categories list has been gracefully merged with the final HTML page, with no additionnal code, but by a purely declarative work. Of course, the page has been called through the proxy, and not directly.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9pXblRUI/AAAAAAAAC78/6c3-tWtStak/s1600-h/image%5B58%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="210" src="http://lh5.ggpht.com/_jca2-r9Sg1s/S6y9p39hh0I/AAAAAAAAC8A/BA6vVT_pgwM/image_thumb%5B34%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="402" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; For info, this is the HTML detail in the final page:&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/S6y9qo8vaJI/AAAAAAAAC8E/WPV0oE5YxUA/s1600-h/image%5B59%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="211" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9rmE0hdI/AAAAAAAAC8I/JW0MPpjTuD4/image_thumb%5B35%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="409" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-4168096761926740142?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/4168096761926740142/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=4168096761926740142' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/4168096761926740142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/4168096761926740142'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/03/injecting-web-content-with-oracle.html' title='Injecting Web Content with Oracle Ensemble'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_jca2-r9Sg1s/S6y9ZdgdL5I/AAAAAAAAC7A/UFiq5CUrbr0/s72-c/image_thumb%5B26%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-1874283068364140674</id><published>2010-03-12T15:08:00.001+01:00</published><updated>2010-03-12T15:27:05.976+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><title type='text'>Starting Oracle WebCenter Ensemble adminui</title><content type='html'>&lt;p&gt;In some situations, a FQDN (Fully Qualified Domain Name) machine can lead to problems after a fresh install of &lt;a title="Site Oracle" href="http://www.oracle.com" target="_blank"&gt;Oracle&lt;/a&gt; Webcenter Ensemble, when accessing to Admin console &lt;a href="http://mymachine:20070/ensembleadminui/run/ensemble.faces"&gt;http://mymachine:20070/ensembleadminui/run/ensemble.faces&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The problems occurs on Windows XP or 2003 machines.&lt;br&gt;Version of &lt;em&gt;ensemble&lt;/em&gt; wich is concerned: 10.3.0j.0 and above&lt;/p&gt; &lt;p&gt;In this case, have a look to the log into: &amp;lt;HOME_DIR&amp;gt;\ensembleadminui\10.3.0\wrapper.log&lt;/p&gt; &lt;p&gt;If you get an error as following&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;…&amp;lt;1.0.0-SNAPSHOT-SNAPSHOT nonfatal store error&amp;gt; kodo.jdo.DataStoreException: Syntax error: Encountered ")" at line 1, column 176. {SELECT t0.DOMN, t0.REALMN, t0.NAME, t1.URI FROM BEASAML2_SPPARTNER t0, BEASAML2_SP_AUDIENCEURI t1 WHERE (t0.DOMN = ? AND t0.REALMN = ? AND t0.NAME = ?) AND t0.DOMN = t1.DOMN(+) AND t0.REALMN = t1.REALMN(+) AND t0.NAME = t1.PARTNER_NAME(+) ORDER BY t0.DOMN ASC, t0.REALMN ASC, t0.NAME ASC} [code=-1, state=42X01….&lt;/font&gt;&lt;/p&gt; &lt;p&gt;then replace the FQDN by localhost into: &amp;lt;HOME_DIR&amp;gt;\settings\configuration.xml file. &lt;br&gt;Note: If you do a backup of this file, put it in an other directory. There must be remain only ONE config file. &lt;/p&gt; &lt;p&gt;Replace the original FQDN (ie: &lt;em&gt;mymachine.mydomain.com&lt;/em&gt;) by &lt;em&gt;localhost&lt;/em&gt; &lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;setting name="&lt;b&gt;database-connection:dbhost&lt;/b&gt;"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;value xsi:type="&lt;b&gt;xsd:string&lt;/b&gt;"&amp;gt;&lt;strong&gt;localhost&lt;/strong&gt;&amp;lt;/value&amp;gt;&lt;br&gt;&amp;lt;/setting&amp;gt;&lt;/font&gt; &lt;p&gt;then restart all the Ensemble services. &lt;p&gt;In order to install the last version of WebCenter Ensemble for Windows, download the following softwares: &lt;ul&gt; &lt;li&gt;&lt;a href="http://download.oracle.com/otndocs/technology/products/webcenter/ensemble/WebCenterEnsemble_10.3.0.0.0_win.zip" target="_blank"&gt;Ensemble base Version 10.3.0&lt;/a&gt; (07/2008)&lt;/li&gt; &lt;li&gt;&lt;a href="http://download.oracle.com/otndocs/technology/products/webcenter/ensemble/WebCenterEnsemble_10.3.0.1.0_win.zip" target="_blank"&gt;Ensemble Patch 10.3.0.1.0&lt;/a&gt; (07/2009)&lt;/li&gt; &lt;li&gt;&lt;a href="http://sourceforge.net/projects/hibernate/files/hibernate3/3.2.0.ga/hibernate-3.2.0.ga.zip/download" target="_blank"&gt;Hibernate 3.2.0.GA&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://sourceforge.net/projects/hibernate/files/hibernate-annotations/3.2.0.GA/hibernate-annotations-3.2.0.GA.zip/download" target="_blank"&gt;Hibernate-Annotations 3.2.0.GA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Base version must be installed before the patch. &lt;p&gt;Source: Oracle Support and &lt;a href="http://download.oracle.com/docs/cd/E13158_01/alui/ensemble/docs103/webcenter.103/e15163/toc.htm" target="_blank"&gt;Release Notes for WebCenter Ensemble 10gR3&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1874283068364140674?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1874283068364140674/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1874283068364140674' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1874283068364140674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1874283068364140674'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/03/starting-oracle-webcenter-ensemble.html' title='Starting Oracle WebCenter Ensemble adminui'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-5769585317856693491</id><published>2010-03-04T15:26:00.003+01:00</published><updated>2010-03-08T14:03:49.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Using OmniPortlet Parameters within Oracle WebCenter Spaces</title><content type='html'>Using parameters with OmniPortlet within WebCenter Spaces is quite simple. The &lt;a href="http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e10149/omniportlet.htm#CIHDIACB" target="_blank"&gt;documentation about this feature&lt;/a&gt; is well done but an exemple will be useful.&lt;br /&gt;Version used : &lt;a href="http://www.oracle.com/" target="_blank" title="Site Oracle"&gt;Oracle&lt;/a&gt; WebCenter 11g R1 (11.1.1.2)&lt;br /&gt;Let’s suppose we want filter a report with a specific currency setup at the page level.&lt;br /&gt;This is the original report. All the currencies are mixed&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S5DjGxoI3CI/AAAAAAAAC4Y/sXlIU1ltZBM/s1600-h/image%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="247" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_CxdJFiNI/AAAAAAAAC4c/T7hzI8Fr2CI/image_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="393" /&gt;&lt;/a&gt; &lt;br /&gt;First, we add a new parameter at the page level. Let’s name it &lt;em&gt;pdevise&lt;/em&gt; and give a default value: EUR.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S4_Cy52EUZI/AAAAAAAAC4g/7vZsQy9zItk/s1600-h/image3%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="248" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_C0dFRbGI/AAAAAAAAC4k/wRBbQwxsIgY/image3_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="394" /&gt;&lt;/a&gt; &lt;br /&gt;Then, we add a filter at the Omniportlet definition level. In the second tab, we enter a new condition and the name of formal parameter, inside : &lt;strong&gt;##Param1##&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S4_C1y0l-6I/AAAAAAAAC4o/gjCV28purbk/s1600-h/image6%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="248" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_C3XCdXJI/AAAAAAAAC4s/E3WMu--Io0Y/image6_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_C48VDLCI/AAAAAAAAC4w/BfNWG6jCk4Q/s1600-h/image9%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="248" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_C6nWEijI/AAAAAAAAC40/WeAUV6NlNT8/image9_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="394" /&gt;&lt;/a&gt; &lt;br /&gt;The report is empty because the parameter &lt;strong&gt;Param1&lt;/strong&gt; is not wired.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S4_C8DAnJbI/AAAAAAAAC44/4hA0Z3EhOSw/s1600-h/image12%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="248" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S4_C9kTwMJI/AAAAAAAAC48/orGbxoR3KIw/image12_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="394" /&gt;&lt;/a&gt;&lt;br /&gt;This is the last step: Wiring &lt;strong&gt;Param1&lt;/strong&gt; with the previous Page parameter &lt;strong&gt;pdevise&lt;/strong&gt;. We must edit the component properties for the omniportlet (the yellow pen close to the &lt;em&gt;view action menu&lt;/em&gt; icon)&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/S4_C_J03fdI/AAAAAAAAC5A/wJd_gIZTQyg/s1600-h/image18%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="246" src="http://lh5.ggpht.com/_jca2-r9Sg1s/S4_DAi8XmMI/AAAAAAAAC5E/C0Xe4Y6_H4s/image18_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="391" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S4_DB-b57-I/AAAAAAAAC5I/YfoZ-M9tdTM/s1600-h/image21%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="147" src="http://lh4.ggpht.com/_jca2-r9Sg1s/S4_DDKgMgeI/AAAAAAAAC5M/BnJuXTmQyOI/image21_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="299" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S4_DEEWZmAI/AAAAAAAAC5Q/kOpc9aBIpD4/s1600-h/image24%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="168" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S4_DF9MshDI/AAAAAAAAC5U/9lxkPdNoA_I/image24_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="299" /&gt;&lt;/a&gt; &lt;br /&gt;Finally, the report is displayed with the currency given at page level.&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S4_DHTWzvuI/AAAAAAAAC5Y/a8LJVEYxDIk/s1600-h/image27%5B1%5D.png" target="_blank"&gt;&lt;img alt="image" border="0" height="236" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S4_DJoFhPGI/AAAAAAAAC5c/7etUyzIwNBI/image27_thumb.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="376" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-5769585317856693491?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/5769585317856693491/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=5769585317856693491' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5769585317856693491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5769585317856693491'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/03/using-omniportlet-parameters-within.html' title='Using OmniPortlet Parameters within Oracle WebCenter Spaces'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_jca2-r9Sg1s/S4_CxdJFiNI/AAAAAAAAC4c/T7hzI8Fr2CI/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-1058955844728264370</id><published>2010-02-10T15:36:00.002+01:00</published><updated>2010-02-12T22:40:10.912+01:00</updated><title type='text'>Activating OmniPortlet with Oracle WebCenter</title><content type='html'>in a fresh install of &lt;a href="http://www.oracle.com/" target="_blank" title="Site Oracle"&gt;Oracle&lt;/a&gt; WebCenter, the OmniPortlet is deployed but not registered as a portlet producer. As mentioned in the documentation, it’s needed to do some extra setup either with the Fusion Middleware Control or with a WLST script. This post explains how to use the first option.&lt;br /&gt;Let’s suppose that the administration port is : 7001.&lt;br /&gt;Use a web browser for connecting to the Fusion Middleware control (Remark: it’s not the WebLogic console !)&lt;br /&gt;http:&amp;lt;hostname&amp;gt;:7001/em&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S3LEO-JH3_I/AAAAAAAAC1Y/y9D21_2v_d4/s1600-h/image%5B4%5D.png"&gt;&lt;img alt="image" border="0" height="238" src="http://lh5.ggpht.com/_jca2-r9Sg1s/S3LEQ0QPejI/AAAAAAAAC1c/SgDGNumJdFI/image_thumb%5B2%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="395" /&gt;&lt;/a&gt; &lt;br /&gt;Connect as weblogic (or an account with administrative privileges)&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S3LES6rKP4I/AAAAAAAAC1g/BeiNp8iye-o/s1600-h/image%5B9%5D.png"&gt;&lt;img alt="image" border="0" height="242" src="http://lh6.ggpht.com/_jca2-r9Sg1s/S3LEUiTFp0I/AAAAAAAAC1k/TXeAu4BkaKI/image_thumb%5B5%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="401" /&gt;&lt;/a&gt; &lt;br /&gt;Choose Register Producer option in the WebCenter menu &lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S3LEWYN5guI/AAAAAAAAC1o/KiMaAnE7mYo/s1600-h/image%5B14%5D.png"&gt;&lt;img alt="image" border="0" height="244" src="http://lh4.ggpht.com/_jca2-r9Sg1s/S3LEYWdo9WI/AAAAAAAAC1s/MPSRj31_Nsg/image_thumb%5B8%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="406" /&gt;&lt;/a&gt; &lt;br /&gt;In the URL endpoint field, enter:&lt;br /&gt;&lt;a href="http://%3chostname%3e:7001/portalTools/omniPortlet/providers/omniPortlet%20" title="http://wc:7001/portalTools/omniPortlet/providers/omniPortlet "&gt;http://&amp;lt;hostname&amp;gt;:7001/portalTools/omniPortlet/providers/omniPortlet &lt;/a&gt;&lt;br /&gt;In most of case, it will be useful to restart all webCenter, in order to see the new portlet displayed in the catalog (under Portlets folder)&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/S3LEaNl1NfI/AAAAAAAAC1w/DoyL_X6zpgk/s1600-h/image%5B24%5D.png"&gt;&lt;img alt="image" border="0" height="185" src="http://lh3.ggpht.com/_jca2-r9Sg1s/S3LEb94xENI/AAAAAAAAC10/TqEu_fWGVws/image_thumb%5B14%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="302" /&gt;&lt;/a&gt; &lt;br /&gt;In order to&amp;nbsp; see the already registered portlets, choose Service Configuration&lt;br /&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/S3LEdlHYvKI/AAAAAAAAC14/EIpeIUbHHf8/s1600-h/image%5B20%5D.png"&gt;&lt;img alt="image" border="0" height="251" src="http://lh4.ggpht.com/_jca2-r9Sg1s/S3LEfXKYyGI/AAAAAAAAC18/EvJz4EvSiIA/image_thumb%5B12%5D.png?imgmax=800" style="border: 0px none; display: inline;" title="image" width="412" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1058955844728264370?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1058955844728264370/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1058955844728264370' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1058955844728264370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1058955844728264370'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/02/activating-omniportlet-with-oracle.html' title='Activating OmniPortlet with Oracle WebCenter'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_jca2-r9Sg1s/S3LEQ0QPejI/AAAAAAAAC1c/SgDGNumJdFI/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6723968675489612593</id><published>2010-02-10T14:21:00.001+01:00</published><updated>2010-02-10T14:21:44.839+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wls'/><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Using REST Apis in WebCenter : Setup for Linux</title><content type='html'>&lt;p&gt;REST Apis are available with &lt;a title="Site Oracle" href="http://www.oracle.com" target="_blank"&gt;Oracle&lt;/a&gt; WebCenter R1 PS1 (Nov 2009). This post gives informations for installing samples on an existing WebCenter plateform. &lt;/p&gt; &lt;p&gt;&lt;a title="Site Oracle OTN pour la technologie" href="http://www.oracle.com/technology/products/webcenter/release11_demos.html#spaces_samples" target="_blank"&gt;REST Samples which are provided on otn&lt;/a&gt; site can be installed either with Apache, or with WebLogic Server directly.&lt;/p&gt; &lt;h4&gt;Setup For Apache&lt;/h4&gt; &lt;p&gt;To avoid cross site scripting errors, you should proxy URL access to the REST service: &lt;p&gt;&amp;nbsp;&lt;a href="http://&amp;lt;hostname&amp;gt;:&amp;lt;WLSport&amp;gt;/rest/api/resourceIndex"&gt;http://&amp;lt;hostname&amp;gt;:&amp;lt;WLSport&amp;gt;/rest/api/resourceIndex&lt;/a&gt; &lt;p&gt;On Apache or Oracle HTTP Server &lt;p&gt;Depending the current configuration of apache2.conf, it will be needed to setup the Proxy mod by updating the httpd.conf file, and by adding directives for proxying the target url dedicated to REST. In the lines below, replace the port 7001 by the port used by WLS.&lt;/p&gt; &lt;p&gt;Modify httpd.conf by adding the following lines:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so&lt;br&gt;LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so&lt;br&gt;LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so&lt;br&gt;LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so&lt;br&gt;LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so&lt;br&gt;ProxyPass /rest/ &lt;/font&gt;&lt;a href="http://wc:7001/rest/"&gt;&lt;font face="Courier New"&gt;http://wc:7001/rest/&lt;/font&gt;&lt;/a&gt;&lt;br&gt;&lt;font face="Courier New"&gt;ProxyPassReverse /rest/ http://wc:7001/rest/&lt;/font&gt; &lt;p&gt;Create a new directory in /var/www and unzip the samples in the new directory.&lt;/p&gt; &lt;p&gt;Test: with a browser, enter the url: &lt;a href="http://&amp;lt;hostname&amp;gt;:&amp;lt;Apache"&gt;http://&amp;lt;hostname&amp;gt;:&amp;lt;Apache&lt;/a&gt; port&amp;gt;/ext/updatestatus/updateStatus.html&lt;/p&gt; &lt;h4&gt;Setup for WebLogic Server&lt;/h4&gt; &lt;p&gt;The goal is to use WebLogic Server for serving static HTML files.&lt;/p&gt; &lt;p&gt;create a new folder anywhere (ie: ext) then create a sub-folder named WEB –INF.&lt;/p&gt; &lt;p&gt;Inside the WEB-INF directory, create two files: web.xml and weblogic.xml&lt;/p&gt; &lt;h5&gt;web.xml content&lt;/h5&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;?xml version="1.0" encoding="ISO-8859-1"?&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.&lt;br&gt;//DTD Web Application 2.3//EN" "&lt;/font&gt;&lt;a href="http://java.sun.com/dtd/web-app_2_3.dtd&amp;quot;"&gt;&lt;font face="Courier New"&gt;http://java.sun.com/dtd/web-app_2_3.dtd"&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt;&amp;gt;&lt;br&gt;&amp;lt;web-app&amp;gt;^M&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file-list&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.html&amp;lt;/welcome-file&amp;gt;&lt;br&gt;&amp;lt;/welcome-file-list&amp;gt;&lt;br&gt;&amp;lt;/web-app&amp;gt;^&lt;/font&gt; &lt;h5&gt;weblogic.xml&lt;/h5&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.&lt;br&gt;//DTD Web Application 8.1//EN" "&lt;/font&gt;&lt;a href="http://www.bea.com/servers/wls810/dtd/weblogic"&gt;&lt;font face="Courier New"&gt;http://www.bea.com/servers/wls810/dtd/weblogic&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New"&gt; 810-web-jar.dtd"&amp;gt;&lt;br&gt;&amp;lt;weblogic-web-app&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;context-root&amp;gt;/ext&amp;lt;/context-root&amp;gt;&lt;br&gt;&amp;lt;/weblogic-web-app&amp;gt;&lt;/font&gt; &lt;p&gt;Declare a new webapp in the Weblogic console&lt;/p&gt; &lt;p&gt;with a browser, go into the wls console : &lt;a href="http://&amp;lt;hostname&amp;gt;:&amp;lt;wls"&gt;http://&amp;lt;hostname&amp;gt;:&amp;lt;wls&lt;/a&gt; port&amp;gt;/console, go to deployment option, than add a new application by navigating to the previous new directory (ext). Then, accept all the default options.&lt;/p&gt; &lt;p&gt;unzip the samples in the ext directory. &lt;br&gt;&lt;/p&gt; &lt;p&gt;Test: &lt;a href="http://&amp;lt;hostname&amp;gt;:&amp;lt;WLS_Port&amp;gt;/ext/updatestatus/updateStatus.html"&gt;http://&amp;lt;hostname&amp;gt;:&amp;lt;WLS_Port&amp;gt;/ext/updatestatus/updateStatus.html&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Notes: All the REST Apis samples will ask for credentials by relying on basic Authentication protocol (a popup displayed by the browser).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6723968675489612593?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6723968675489612593/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6723968675489612593' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6723968675489612593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6723968675489612593'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/02/using-rest-apis-in-webcenter-setup-for.html' title='Using REST Apis in WebCenter : Setup for Linux'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6406451975970141296</id><published>2010-02-10T12:16:00.001+01:00</published><updated>2010-02-10T12:17:33.005+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Adding SGBD environment script in WebCenter VM</title><content type='html'>&lt;p&gt;This script is intended to those who use the Vmware WebCenter machine provided by Emiliano P. and need to use sqlplus or imp/exp modules.&lt;br&gt;First, create a new file db.env in /home/wc directory, and add the following lines:&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;#!/bin/bash&lt;br&gt;#&lt;br&gt;# description:&amp;nbsp; Environnement for SGBD&lt;br&gt;#&lt;br&gt;# change log:&lt;br&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pmonaco 09 Feb 2010 -&amp;nbsp; Creation&lt;br&gt;# &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;# Save LD_LIBRARY_PATH&lt;br&gt;SAVE_LLP=$LD_LIBRARY_PATH &lt;/font&gt;&lt;font face="Courier New"&gt;ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server&lt;br&gt;ORACLE_OWNER=oracle&lt;br&gt;ORACLE_SID=XE&lt;br&gt;LD_LIBRARY_PATH=$ORACLE_HOME/lib&lt;br&gt;export ORACLE_HOME&lt;br&gt;export LD_LIBRARY_PATH&lt;br&gt;export ORACLE_SID&lt;br&gt;export PATH=$ORACLE_HOME/bin:$PATH&lt;br&gt;export NLS_LANG=American_America.AL32UTF8&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Give execute permisions do db.env file:&lt;br&gt;&lt;font face="Courier New"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;chmod +x db.env&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Then source the above file with the following command line :&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;. ./db.env&lt;/font&gt;&lt;/p&gt; &lt;p&gt;As from this point, it’s possible to use sqlplus or imp/exp executables.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6406451975970141296?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6406451975970141296/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6406451975970141296' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6406451975970141296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6406451975970141296'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2010/02/adding-sgbd-environment-script-in.html' title='Adding SGBD environment script in WebCenter VM'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-8524919916386261507</id><published>2009-11-30T22:07:00.004+01:00</published><updated>2009-12-18T09:13:16.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Installation de Oracle Portal 11g sur Amazon EC2</title><content type='html'>J’avais comme projet d’installer le produit Oracle Portal 11g sur un OS 64 bits. Disposant de temps et de quelques dollars j’en ai profité pour tester la plate-forme EC2 d’Amazon. Ce &lt;i&gt;post&lt;/i&gt; décrit donc l’installation du produit &lt;a href="http://www.oracle.com/" target="_blank" title="Site Oracle"&gt;Oracle&lt;/a&gt; Portal 11G sur EC2. Les notes prises sont également applicables à une installation de type Forms/Report/Discoverer. &lt;br /&gt;&lt;h4&gt;Rappels sur Amazon EC2&lt;/h4&gt;EC2 (&lt;i&gt;Elastic Cloud Computing&lt;/i&gt;) est une infrastructure (sous Xen) proposée par la société Amazon (celle qui vend des livres et autres articles). On peut y déclencher le démarrage d’une machine virtuelle (AMI)préconfigurée pour une durée indéterminée. On paie selon la durée et selon la puissance de la machine qui est démarrée. &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0AiPHDUI/AAAAAAAACMw/uEA_NCrMePU/s1600-h/image5.png"&gt;&lt;img alt="image" border="0" height="313" src="http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0BLlBJVI/AAAAAAAACM0/P6IctMUGRsc/image_thumb2.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="398" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;h5&gt;Cycle de vie d’une instance de machine&lt;/h5&gt;Dés que la machine est arrêtée ("terminated"), tout ce qui a été bâti est volatilisé. Si on souhaite conserver une machine dans un état durable, il faut payer au préalable pour une réservation de machine, ou bien placer la machine dans un état dit : "Stopped". Dans ce scénario, l’usage ressemble à celui d’une machine virtuelle Vmware qui aurait été mise en mode &lt;i&gt;Suspend&lt;/i&gt;. Une autre méthode consiste à placer tout ce qui est spécifique sur un volume persistent (EBS). Sinon, on peut créer une machine AMI à partir d’une machine AMI de référence à laquelle on aurait ajouté des logiciels. Depuis le mois de décembre 2009, il existe désormais un type de machine "EBS Root Device". Je n'ai pas approfondi, mais cela revient à disposer d'un disque "bootable", et constitue une solution de backup à l'option &lt;i&gt;Bundle&lt;/i&gt;.&lt;br /&gt;&lt;h4&gt;Principes généraux d’installation&lt;/h4&gt;On va partir d’une machine générique proposée par Amazon, installer les soft, puis figer l’installation sous la forme d’une nouvelle machine privée.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ouvrir un compte sur la &lt;a href="http://aws.amazon.com/"&gt;plateforme AWS&lt;/a&gt; et souscrire aux services EC2 et S3&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Télécharger deux plugins pour Firefox:  &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.s3fox.net/"&gt;S3Fox&lt;/a&gt; (très utile)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/elasticfox/"&gt;ElasticFox&lt;/a&gt; (optionnel)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Choisir un OS d’installation. Dans le scénario qui suite, on choisit Windows 2003 Server 64 bits. &lt;a href="http://technet.microsoft.com/en-us/windowsserver/bb430827.aspx"&gt;Tailles de RAM sur les OS Windows&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Créer un EBS (Elastic Bloc Store). C’est une sorte de disque externe amovible. Ce disque nous servira pour stocker les logiciels nécessaires à l’installation. Vérifier que la zone sélectionnée pour l’EBS est bien la même que celle utilisée pour l’AMI.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Démarrer une machine de type Windows 2003 64 bits en mode Large (7,5 Go de Ram) et bi-core (modèle m1.Large). Si un EBS existe déjà dans une zone donnée, afficher les paramètres avancés afin de désigner la même zone.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Obtenir le mot de passe &lt;i&gt;Administrator&lt;/i&gt; pour se connecter en &lt;i&gt;Remote Deskotp protocol&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Attacher le volume EBS crée précédemment&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Se connecter à la machine en RDP&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Télécharger toutes les distributions de logiciel sur le disque&amp;nbsp; (Disque E:, en général). J’ai rencontré quelques caprices de IE8 sur des machines m1.Small, qui m’ont obligé à utiliser Firefox pour le téléchargement.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Changer le nom de la machine (?) Ce point reste à éclaircir en fonction de l’usage future de cette instance.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Installer les logiciels (cf. &lt;a href="http://pmonaco.blogspot.com/2009/10/installation-de-oracle-portal-11g.html"&gt;post&lt;/a&gt; que j’ai déjà écrit à ce sujet) en prenant soin de choisir la version 64 bits pour ce qui concerne le package Portal. Penser à utiliser un JRE 64-bit. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Effectuer des tests de bon fonctionnement&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fabriquer une AMI à partir de celle qui est en cours (génération d’un &lt;i&gt;Bundle&lt;/i&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;“Terminer” la machine qui a servi à construire la machine privée. Tant que la machine virtuelle est en fonctionnement, le compteur tourne !&lt;/li&gt;&lt;/ul&gt;Les débits de transferts internets sont très bons, compris entre 5 Mbits et 15 Mbits.&lt;br /&gt;Cout de l’opération&lt;br /&gt;Voici plus loin la facture détaillée des opérations ayant entrainé de la facturation de la part d’Amazon:&lt;br /&gt;&lt;h4&gt;Détail des étapes&lt;/h4&gt;&lt;h5&gt;Ouverture du compte chez Amazon&lt;/h5&gt;On crée un compte et on souscrit à l’usage de la plateforme EC2 +S3. En principe, cela n’entraine aucun frais d’inscription. On indique simplement son moyen de paiement, et un compte ouvert est créé, de manière similaire à Apple iTunes. Lors du processus d’inscription, un automate vérifie le numéro de téléphone et demande quelle est la valeur d’un PIN code affiché à l’écran.&lt;br /&gt;&lt;h5&gt;Copie des softs&lt;/h5&gt;Il est préférable de stocker ces distributions sur un volume EBS car cela permettra d’avoir un espace de stockage durable, indépendant du cycle de vie des machines AMI. C’est toujours du temps de gagné en téléchargements. &lt;br /&gt;&lt;h5&gt;Démarrage d’une instance &lt;/h5&gt;de machine pré-configurée. L'écran qui suit montre le choix d’une machine de type Windows 32 bits &lt;b&gt;m1.small&lt;/b&gt;.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/SxQ0BnIgyTI/AAAAAAAACM4/oBYT15yXIYA/s1600-h/image14.png"&gt;&lt;img alt="image" border="0" height="221" src="http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0CSokrnI/AAAAAAAACM8/0v0yUpQkVnw/image_thumb10.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="404" /&gt;&lt;/a&gt; &lt;br /&gt;Pour une AMI de type m1.Large, il s’écoule dix minutes environ entre le lancement et le point où l’instance est effectivement disponible, c’est à dire le moment où l’on peut utiliser le Remote Desktop.&lt;br /&gt;&lt;h5&gt;Instances actives&lt;/h5&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0C8-S9XI/AAAAAAAACNA/IRVkdkQEPKE/s1600-h/image13.png"&gt;&lt;img alt="image" border="0" height="218" src="http://lh4.ggpht.com/_jca2-r9Sg1s/SxQ0Dby6e5I/AAAAAAAACNE/pRazj-jgs8s/image_thumb9.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="393" /&gt;&lt;/a&gt;&lt;br /&gt;AMI de type Windows 32 bits m1.small&lt;br /&gt;&lt;h5&gt;Connexion en RDP&lt;/h5&gt;Il est inutile de détailler le mode de connexion à une instance Windows. cela est bien documenté. Il faut simplement savoir que, à la différence d’une machine Unix accessible via putty, il faut dans le cas d’une AMI de type Windows, le password du compte Administrator afin de se connecter avec le RDP. La console AWS propose une option de menu qui permet d’obtenir, après utilisation de&amp;nbsp; sa clef privée, la valeur du mot de passe.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/SxQ0D9dvmOI/AAAAAAAACNI/AUs2gmRgDpg/s1600-h/image34.png"&gt;&lt;img alt="image" border="0" height="207" src="http://lh3.ggpht.com/_jca2-r9Sg1s/SxQ0EgdsL2I/AAAAAAAACNM/sxjA3-gLkh8/image_thumb20.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="397" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Attachement d’un volume EBS&lt;/h5&gt;Un volume doit être créé dans une région (US ou bien Europe) et dans une zone géographique donné. On ne peut attacher un volume à une machine que si les deux sont dans la même zone.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/SxQ0FLi2CqI/AAAAAAAACNQ/HTGynYV-uyc/s1600-h/image30.png"&gt;&lt;img alt="image" border="0" height="208" src="http://lh4.ggpht.com/_jca2-r9Sg1s/SxQ0Fntd6qI/AAAAAAAACNU/thySVj7-OXA/image_thumb18.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="402" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/SxQ0GaXmAsI/AAAAAAAACNY/2lh_wkJO2-g/s1600-h/image26.png"&gt;&lt;img alt="image" border="0" height="207" src="http://lh5.ggpht.com/_jca2-r9Sg1s/SxQ0G7htGmI/AAAAAAAACNc/gkP7y8tfKyE/image_thumb16.png?imgmax=800" style="border-width: 0px; display: inline;" title="image" width="397" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;h5&gt;&lt;i&gt;Vitrification&lt;/i&gt; de l’instance modifiée&lt;/h5&gt;Cela revient à créer une AMI privée. Je n’ai pas eu le temps d’aller jusqu’à cette étape.&lt;br /&gt;Il faut:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Créer un &lt;i&gt;bucket&lt;/i&gt; S3 (avec le plugin s3Fox) qui recevra les fichiers binaires rentrant dans la composition de la future AMI. Le nom du &lt;i&gt;bucket&lt;/i&gt; doit être unique.&lt;/li&gt;&lt;li&gt;A partir de la console AWS, on choisit l’option &lt;i&gt;Bundle Instance&lt;/i&gt;. On indique ensuite le nom du &lt;i&gt;bucket&lt;/i&gt; précédemment créé, ainsi qu’une Key de valeur arbitraire. Si le &lt;i&gt;bucket&lt;/i&gt; n’avait pas été créé on reçoit une erreur : NoSuchBucket(404)&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Facturation&lt;/h5&gt;Il faut compter trois heures d’installation. La facture qui suit prend en compte des tests préliminaires. Le total réel peut donc être inférieur.&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0HRH0K5I/AAAAAAAACNk/YlkfPPyV1Rw/s1600-h/image153.png"&gt;&lt;img alt="image" border="0" height="209" src="http://lh3.ggpht.com/_jca2-r9Sg1s/SxQ0H_LbCdI/AAAAAAAACNo/UH5l3K4kPAI/image15_thumb2.png?imgmax=800" style="border-width: 0px; display: inline; margin: 0px 0px 5px;" title="image" width="395" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-8524919916386261507?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/8524919916386261507/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=8524919916386261507' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/8524919916386261507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/8524919916386261507'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/11/installation-de-oracle-portal-11g-sur.html' title='Installation de Oracle Portal 11g sur Amazon EC2'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_jca2-r9Sg1s/SxQ0BLlBJVI/AAAAAAAACM0/P6IctMUGRsc/s72-c/image_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-5524036833573092054</id><published>2009-11-02T21:13:00.002+01:00</published><updated>2009-11-02T21:29:22.610+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='indexing'/><category scheme='http://www.blogger.com/atom/ns#' term='search engine'/><title type='text'>Oracle SES: Indexation d’un référentiel hétérogène</title><content type='html'>&lt;p&gt;Version utilisée: &lt;a title="Site Oracle" href="http://www.oracle.com/" target="_blank"&gt;Oracle&lt;/a&gt; SES 10.1.8.4 &lt;p&gt;Oracle &lt;a href="http://www.oracle.com/technology/products/oses/index.html"&gt;Secure Enterprise Search&lt;/a&gt; (SES) est un moteur de recherche multi-sources. &lt;p&gt;Ce &lt;em&gt;topic&lt;/em&gt; concerne l’indexation d’un système d’information dont les documents sont stockés en tant que pièces attachées sur un système de fichiers et dont les méta-données, associées à ces documents, sont enregistrées dans une base de données &lt;p&gt;L’exemple qui suit concerne l’indexation d’un logiciel de wiki. &lt;p&gt;Echantillon d’un &lt;i&gt;post&lt;/i&gt; relatif à une fiche produit : &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/Su89WN2Wx8I/AAAAAAAACL4/aNDOc60376o/s1600-h/clip_image002[4].jpg"&gt;&lt;img title="clip_image002" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="223" alt="clip_image002" src="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89WuMFZQI/AAAAAAAACL8/mAXuvAmtPjE/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="390" border="0" /&gt;&lt;/a&gt; &lt;p&gt;On attache un document (CompProfFC900.pdf) à ce &lt;i&gt;post&lt;/i&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89XKnnpjI/AAAAAAAACMA/0petp0lloS8/s1600-h/clip_image004[4].jpg"&gt;&lt;img title="clip_image004" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="216" alt="clip_image004" src="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89XZpCOAI/AAAAAAAACME/kIsMuTUXw0Q/clip_image004_thumb%5B1%5D.jpg?imgmax=800" width="394" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Le besoin exprimé est de permettre une recherche incluant à la fois les données stockées dans un SGBD (métadonnées du wiki) et le contenu des fichiers en attachement (sur le &lt;i&gt;file system&lt;/i&gt;) &lt;p&gt;Il s’agit d’un cas de figure qui est couvert par l’usage du &lt;b&gt;connecteur &lt;em&gt;Database Source&lt;/em&gt; &lt;/b&gt;qui est disponible avec le produit Oracle SES&lt;b&gt;.&lt;/b&gt; &lt;p&gt;Avec ce type de connecteur, on peut parcourir n’importe quelle source accessible via le protocole JDBC. La source peut être définie soit comme une vue (au sens sql du terme) soit par une requête SQL. &lt;p&gt;Chaque enregistrement est alors interprété comme un document. &lt;p&gt;La vue ou bien la requête SQL doit retourner au minimum les colonnes suivantes : &lt;ul&gt;&lt;li&gt;URL &lt;li&gt;CONTENT &lt;li&gt;LASTMODIFIEDDATE &lt;li&gt;KEY &lt;li&gt;LANG&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Les colonnes optionnelles sont : &lt;ul&gt;&lt;li&gt;PATH &lt;li&gt;ATTACHMENT_LINK &lt;li&gt;ATTACHMENT &lt;li&gt;CONTENTTYPE &lt;li&gt;TITLE&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Lorsque le corps du document est sous la forme d’un fichier stocké à l’extérieur de la base de données (sur un système de fichier par exemple), c’est la colonne ATTACHMENT_LINK qui doit contenir le lien au format &lt;i&gt;http:&lt;/i&gt;, &lt;i&gt;ftp:&lt;/i&gt; ou &lt;i&gt;file:&lt;/i&gt;. &lt;p&gt;Même si le document est en attachement, la colonne CONTENT doit être présente, (pointant sur une valeur nulle, par exemple) &lt;p&gt;Mais c’est bien le document pointé par ATTACHMENT_LINK qui sera indexé. &lt;p&gt;Prenons l’exemple du logiciel de Wiki évoqué plus haut.&lt;br /&gt;Le modèle de données est celui-ci : &lt;ul&gt;&lt;li&gt;Table de nœuds : NODES &lt;li&gt;Tables des métadonnées : VERSIONS &lt;li&gt;Tables des attachements : ATTACHMENT &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;C’est la table ATTACHMENT qui contient les liens vers les fichiers en attachement. &lt;p&gt;Dans notre exemple, la localisation des fichiers en attachement sur le &lt;em&gt;file system&lt;/em&gt; est : &lt;p&gt;&lt;span style="font-family:Courier New;"&gt;E:\oracle\wls\user_projects\domains\services\owc\owc_wiki\attachments\owc_wiki\&amp;lt;&lt;b&gt;Nom_du_post&lt;/b&gt;&amp;gt;\&amp;lt;&lt;b&gt;nom_fichier&lt;/b&gt;&amp;gt;&lt;/span&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/Su89X8ejImI/AAAAAAAACMI/mQ31ZnfWfXw/s1600-h/clip_image006[4].jpg"&gt;&lt;img title="clip_image006" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="245" alt="clip_image006" src="http://lh5.ggpht.com/_jca2-r9Sg1s/Su89YXS8lKI/AAAAAAAACMM/8tjm4_Tylds/clip_image006_thumb%5B1%5D.jpg?imgmax=800" width="390" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/Su89YyT7IlI/AAAAAAAACMQ/rDGzxuBkM2Q/s1600-h/clip_image008[5].jpg"&gt;&lt;img title="clip_image008" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="170" alt="clip_image008" src="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89ZTqC-tI/AAAAAAAACMU/0TeSCvKP6XY/clip_image008_thumb%5B2%5D.jpg?imgmax=800" width="391" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Il est nécessaire de constituer, soit une vue, soit une requête au format SQL qui retournera, au minimum, les colonnes qui ont été mentionnées plus haut. &lt;p&gt;Voici un exemple de requête pour l’exemple du wiki : &lt;p&gt;&lt;span style="font-family:Courier New;"&gt;SELECT&lt;br /&gt;docserver?doc_id=' T1.vid AS URL,&lt;br /&gt;T1.VID AS KEY,&lt;br /&gt;'en' AS LANG,&lt;br /&gt;SYSDATE AS LASTMODIFIEDDATE,&lt;br /&gt;T1.CONTENT AS CONTENT,&lt;br /&gt;'file://ten.mydomain.com/E:/oracle/wls/user_projects/domains/se&lt;br /&gt;vices/owc/owc_wiki/attachments/owc_wiki/'&lt;br /&gt;T2.pagename'/'T2.filename as &lt;/span&gt;&lt;span style="font-family:Courier New;"&gt;&lt;b&gt;ATTACHMENT_LINK&lt;br /&gt;&lt;/b&gt;FROM&lt;br /&gt;VERSIONS T1,&lt;br /&gt;ATTACHMENT T2,&lt;br /&gt;NODES T3&lt;br /&gt;WHERE T1.nodeid = T3.nid and&lt;br /&gt;T3.name = T2.pagename&lt;/span&gt; &lt;p&gt;Cette requête doit être fournie comme un des paramètres du connecteur qui sera destiné à l’indexation du référentiel de wiki : &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/Su89Z1BOQ4I/AAAAAAAACMY/GekT44b8MNc/s1600-h/clip_image010[4].jpg"&gt;&lt;img title="clip_image010" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="218" alt="clip_image010" src="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89aaeyjCI/AAAAAAAACMc/pUw9ea4ubQU/clip_image010_thumb%5B1%5D.jpg?imgmax=800" width="381" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Le panneau précédent correspond au paramétrage d’un nouveau connecteur de type &lt;b&gt;Database Source&lt;/b&gt;. Tout Sgbd disposant d’un &lt;i&gt;driver&lt;/i&gt; jdbc est utilisable avec ce connecteur. &lt;p&gt;Les considérations liés à la sécurité sont également définies de façon similaire, sous réserve de connaître le modèle de données de la source. En particulier, la requête principale doit comporter un attribut qui indique quel est le niveau de visibilité (colonne AUTH_ID dans ce cas particulier) &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/Su89avb6RJI/AAAAAAAACMg/wilndM5h5io/s1600-h/clip_image012[4].jpg"&gt;&lt;img title="clip_image012" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="223" alt="clip_image012" src="http://lh3.ggpht.com/_jca2-r9Sg1s/Su89bKFDFJI/AAAAAAAACMk/QrOCMMoKTxQ/clip_image012_thumb%5B1%5D.jpg?imgmax=800" width="376" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Le panneau précédent permet d’indiquer quel sera le filtre de sécurité. Ici, on fait référence à l’attribut AUTH_ID qui avait précisé auparavant, et on définit une requête qui positionne le niveau de visibilité en fonction de l’utilisateur connecté. &lt;h4&gt;Lancement de l’Ordonnanceur d’indexation&lt;/h4&gt;&lt;p&gt;A l’issue du lancement de la phase de &lt;i&gt;crawling&lt;/i&gt; (programmée ou bien manuelle), Oracle SES fournit un rapport relatif à l’indexation : &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/Su89b1H6EjI/AAAAAAAACMo/b832RFNE8jM/s1600-h/clip_image014[4].jpg"&gt;&lt;img title="clip_image014" style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height="245" alt="clip_image014" src="http://lh5.ggpht.com/_jca2-r9Sg1s/Su89cQPAnII/AAAAAAAACMs/wBTjlZ1hN8Q/clip_image014_thumb%5B1%5D.jpg?imgmax=800" width="378" border="0" /&gt;&lt;/a&gt; &lt;h4&gt;Conclusion&lt;/h4&gt;&lt;p&gt;Il est possible de faire prendre en compte au moteur de recherche Oracle SES un nouveau système d’information, et cela de façon déclarative. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-5524036833573092054?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/5524036833573092054/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=5524036833573092054' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5524036833573092054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5524036833573092054'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/11/oracle-ses-indexation-dun-referentiel.html' title='Oracle SES: Indexation d’un référentiel hétérogène'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_jca2-r9Sg1s/Su89WuMFZQI/AAAAAAAACL8/mAXuvAmtPjE/s72-c/clip_image002_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6497722974557900817</id><published>2009-11-02T20:59:00.001+01:00</published><updated>2009-11-02T20:59:44.491+01:00</updated><title type='text'>Indexation de fichiers .ZIP avec Oracle Secure Enterprise Search (SES)</title><content type='html'>&lt;p align="justify"&gt;Version utilisée : &lt;a title="Site Oracle" href="http://www.oracle.com" target="_blank"&gt;Oracle&lt;/a&gt; SES 10.1.8.4 &lt;p align="justify"&gt;&lt;a href="http://www.oracle.com/technology/products/oses/index.html"&gt;Oracle Secure Enterprise Search&lt;/a&gt; (SES) permet d’indexer le contenu de fichiers qui ont été compressés au format .zip. &lt;p align="justify"&gt;On peut distinguer deux cas de figure : &lt;ul&gt; &lt;li&gt; &lt;div align="justify"&gt;Un fichier, quel que soit son format natif, fait l’objet d’une compression dans un fichier .zip &lt;/div&gt; &lt;li&gt; &lt;div align="justify"&gt;Un container au format .zip contient plusieurs fichiers dont les formats font parti de ceux supportés nativement par Oracle SES. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p align="justify"&gt;Les deux cas de figure sont supportés. Dans le deuxième, il existe une limitation de 1000 documents maximum par fichier .zip. &lt;h4&gt;Illustration &lt;/h4&gt; &lt;h5&gt;Scénario 1&lt;/h5&gt; &lt;p&gt;Considérons la source de type FileSystem nommée CVs. &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/Su86GS8pr5I/AAAAAAAACKo/GFprxkdzWRI/s1600-h/clip_image002%5B10%5D.jpg"&gt;&lt;img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="213" alt="clip_image002" src="http://lh5.ggpht.com/_jca2-r9Sg1s/Su86GxniVaI/AAAAAAAACKs/oRrH1ATDBBM/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="369" border="0"&gt;&lt;/a&gt; &lt;p&gt;On doit préciser au préalable précise, pour cette source, les formats de fichiers qui feront l’objet d’une indexation (&lt;b&gt;ZIP Archive&lt;/b&gt;, en particulier) &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/Su86HeAjdLI/AAAAAAAACKw/2InLBdzwEOA/s1600-h/clip_image002%5B4%5D%5B4%5D.jpg"&gt;&lt;img title="clip_image002[4]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="222" alt="clip_image002[4]" src="http://lh6.ggpht.com/_jca2-r9Sg1s/Su86IFsO3mI/AAAAAAAACK0/1LDMeXy8dEU/clip_image002%5B4%5D_thumb%5B2%5D.jpg?imgmax=800" width="378" border="0"&gt;&lt;/a&gt; &lt;p&gt;On ajoute un fichier dans un format .zip (&lt;i&gt;actualite.txt&lt;/i&gt;) à la source nommée CVs : &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/Su86ImYJ81I/AAAAAAAACK4/Wo7t9YbZLgo/s1600-h/clip_image004%5B6%5D.jpg"&gt;&lt;img title="clip_image004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="271" alt="clip_image004" src="http://lh4.ggpht.com/_jca2-r9Sg1s/Su86JINoeqI/AAAAAAAACK8/azAACHwM6aM/clip_image004_thumb%5B1%5D.jpg?imgmax=800" width="382" border="0"&gt;&lt;/a&gt; &lt;p&gt;Oracle SES retrouve bien le document et affiche un extrait du début de texte (dont la longueur est paramétrable) &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jca2-r9Sg1s/Su86JjzM-_I/AAAAAAAACLA/3Hk8DSGNZFU/s1600-h/clip_image002%5B6%5D%5B3%5D.jpg"&gt;&lt;img title="clip_image002[6]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="223" alt="clip_image002[6]" src="http://lh6.ggpht.com/_jca2-r9Sg1s/Su86JzrX1zI/AAAAAAAACLE/RaJgJmjgJVU/clip_image002%5B6%5D_thumb%5B1%5D.jpg?imgmax=800" width="386" border="0"&gt;&lt;/a&gt; &lt;h5&gt;Scénario 2 : &lt;/h5&gt; &lt;p&gt;On ajoute un fichier .zip qui contient trois fichiers distincts &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jca2-r9Sg1s/Su86KpnmeDI/AAAAAAAACLI/KAUylOJV68Y/s1600-h/clip_image002%5B8%5D%5B3%5D.jpg"&gt;&lt;img title="clip_image002[8]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="274" alt="clip_image002[8]" src="http://lh6.ggpht.com/_jca2-r9Sg1s/Su86K0kHrzI/AAAAAAAACLM/SxGWGYcL7fE/clip_image002%5B8%5D_thumb%5B1%5D.jpg?imgmax=800" width="391" border="0"&gt;&lt;/a&gt; &lt;p&gt;On effectue une recherche sur un autre mot clef, et SES retrouve bien deux documents parmi les trois qui contenaient le mot recherché &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jca2-r9Sg1s/Su86LVNEo9I/AAAAAAAACLQ/oPSGDH1LOBk/s1600-h/clip_image004%5B4%5D%5B3%5D.jpg"&gt;&lt;img title="clip_image004[4]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="227" alt="clip_image004[4]" src="http://lh5.ggpht.com/_jca2-r9Sg1s/Su86L4sK19I/AAAAAAAACLU/_9yPC1waHM0/clip_image004%5B4%5D_thumb%5B1%5D.jpg?imgmax=800" width="393" border="0"&gt;&lt;/a&gt; &lt;p align="justify"&gt;Remarque: si le même fichier &lt;i&gt;actualité.txt&lt;/i&gt; figure dans plusieurs sources indexées par Oracle SES, et qu’il y a identité parfaite de contenu (en fonction d’une &lt;i&gt;checksum&lt;/i&gt; calculée par SES), le moteur de recherche de retournera qu’une seule version du document. Cela est une fonctionnalité intéressante qui permet d’alléger la listes de recherche qui est renvoyée à l’utilisateur. &lt;h4&gt;Références&lt;/h4&gt; &lt;p align="justify"&gt;Informations supplémentaires sur le &lt;a href="http://www.oracle.com/technology/products/oses/index.html"&gt;moteur de recherche Oracle SES&lt;/a&gt;.   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6497722974557900817?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6497722974557900817/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6497722974557900817' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6497722974557900817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6497722974557900817'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/11/indexation-de-fichiers-zip-avec-oracle.html' title='Indexation de fichiers .ZIP avec Oracle Secure Enterprise Search (SES)'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_jca2-r9Sg1s/Su86GxniVaI/AAAAAAAACKs/oRrH1ATDBBM/s72-c/clip_image002_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-7099597392241023844</id><published>2009-10-28T22:03:00.010+01:00</published><updated>2009-12-21T10:36:01.436+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wls'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='middleware'/><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='wsrp'/><title type='text'>Installation de Oracle Portal 11g Release 1 (11.1.1)</title><content type='html'>&lt;div align="justify"&gt;La version 11g de Oracle Portal peut être téléchargée depuis Juillet 2009. Cette nouvelle version apporte essentiellement un meilleur niveau de conformité vis à vis de standards tels que XHTML ou bien WSRP 2. On remarquera également que l’on peut substituer &lt;a href="http://www.oracle.com/technology/bpel/index.html"&gt;BPEL&lt;/a&gt; au mécanisme de workflow natif. Cette intéressante option permettra de configurer des processus de contribution plus sophistiqués (imbrication avec des appels de web Services par exemple)&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Pré-requis logiciels&lt;/h4&gt;Voici les logiciels qu’il est nécessaire de télécharger (pour Windows 32) avant d’entamer l’installation:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technology/software/htdocs/devlic.html?url=/technology/software/products/ias/htdocs/101401.html" target="_blank"&gt;Oracle Identity Manager 10.1.4.1&lt;/a&gt;&lt;br /&gt;télécharger, au minimum : &lt;i&gt;Oracle Identity Management Infrastructure and Oracle Identity Federation&lt;/i&gt; &lt;/li&gt;&lt;li&gt;Oracle IDM 10.1.4.3 Patch (IM 10.1.4.3 PATCHSET)&lt;br /&gt;nro 7215628 via le site &lt;a href="http://metalink.oracle.com/" target="_blank"&gt;metalink&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/" target="_blank" title="Site Oracle"&gt;Oracle&lt;/a&gt; 11G est certifié avec Oracle SSO 10.1.4.3. C’est la raison pour laquelle il faut appliquer ce patcshet &lt;/li&gt;&lt;li&gt;Oracle SGBD 11g R1 (&lt;a href="http://download.oracle.com/otn/nt/oracle11g/win32_11gR1_database_111070.zip" target="_blank"&gt;11.1.0.7&lt;/a&gt;)&lt;br /&gt;On peut également utiliser une 11gR2 &lt;/li&gt;&lt;li&gt;Oracle Fusion Middleware 11g &lt;a href="http://www.oracle.com/technology/software/products/middleware/htdocs/111110_fmw.html" target="_blank" title="Site Oracle"&gt;Oracle Portal&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Repository Creation Utility (&lt;a href="http://download.oracle.com/otn/nt/middleware/11g/ofm_rcu_win32_11.1.1.1.0_disk1_1of1.zip" target="_blank"&gt;rcu&lt;/a&gt;) &lt;/li&gt;&lt;li&gt;Oracle WebLogic Server 11&lt;i&gt;g&lt;/i&gt;R1 (10.3.1) - &lt;a href="http://download.oracle.com/otn/nt/middleware/11g/wls/wls1031_win32.exe" target="_blank"&gt;Package Installer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Temps d’installation de Oracle Portal ? : Prévoir une journée.&lt;br /&gt;&lt;h4&gt;Pré-requis matériels&lt;/h4&gt;&lt;div align="justify"&gt;Il faut compter 4 Go de RAM physique si l’installation a lieu sur une seule machine. Sinon, on peut configurer deux machines, la première avec IDM et Oracle Database 11g et la deuxième avec le middleware&lt;br /&gt;Remarque: Si l’installation a lieu sur une VM, on peut se heurter à des problèmes de &lt;i&gt;timeout&lt;/i&gt; lors de la configuration des Serveurs spécifiques à WebLogic (WLS_Portal). cf &lt;i&gt;TroubleShooting&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Taches d’installation&lt;/h4&gt;La procédure qui suit n’est pas la seule qui convienne car on peut imaginer d’autres configurations mettant en jeu d’autres versions du SGBD (11g R2 par exemple) ou bien une version plus récente de IDM (11g). Néanmoins, Oracle SSO 10.1.4.3 est LA version qui est certifiée, tout en sachant qu'une infrastructure 10.1.2 déjà existante pourrait quand même faire l'affaire (cf certaines présentations d'Open World).&lt;br /&gt;Le &lt;a href="http://download.oracle.com/docs/cd/E12839_01/install.1111/e12003/claqi.htm" target="_blank"&gt;guide d’installation rapide&lt;/a&gt; est un bon point de départ. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mis en place d’un &lt;a href="http://articles.techrepublic.com.com/5100-10878_11-5647584.html"&gt;driver Loopback&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Installation DB 11.1.0.6 &lt;/li&gt;&lt;li&gt;Patch DB 11.1.0.7 (si ce n’est pas cette version qui est installée)&lt;br /&gt;Ne pas prendre la &lt;i&gt;seeded Database&lt;/i&gt; livrée en standard car il est nécessaire de disposer d’une instance en AL32UTF8. cf &lt;a href="http://download.oracle.com/docs/cd/E12839_01/install.1111/e12003/claqi.htm" target="_blank"&gt;documentation d’installation&lt;/a&gt;. Par conséquent, ajouter une nouvelle database en post-install (de type polyvalente).&lt;/li&gt;&lt;li&gt;Installer Oracle Identity Manager&lt;/li&gt;&lt;li&gt;Appliquer le patch 10.1.4.3&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Installation de WLS 10.3.1 &lt;/li&gt;&lt;li&gt;Lancer le RCU (l’assistant de configuration des schémas) pour créer les metadata. Selectionner, au minimum, les schémas de type PORTAL. Ajouter d’autres schémas si cela est souhaité (wiki, forum, etc.) &lt;/li&gt;&lt;li&gt;Installer la partie Middlware de Oracle Portal (celle téléchargée avec Oracle Fusion Middleware 11g Portal) &lt;/li&gt;&lt;li&gt;Optionnel: Ajout de WebCenter Services &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Télécharger FMW11G WebCenter &lt;/li&gt;&lt;li&gt;Installer &lt;a href="http://download.oracle.com/otn/nt/middleware/11g/ofm_wc_generic_11.1.1.1.0_disk1_1of1.zip" target="_blank"&gt;WerbCenter&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Effectuer la post-installation pour Wiki/Blog et Discussion&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Un &lt;i&gt;Managed Server&lt;/i&gt; nommé WLS_Services est ajouté dans le domain par défaut. &lt;br /&gt;Afin de gagner de l’espace mémoire, on peut diminuer la RAM allouée dans SetDomainenv &lt;br /&gt;Il existe deux à trois &lt;i&gt;servers&lt;/i&gt; WebLogic: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;AdminServer (la console sur le port 7001) &lt;/li&gt;&lt;li&gt;WLS_Portal &lt;/li&gt;&lt;li&gt;WLS_Services (si on a installé la partie optionnelle WebCenter Services)&lt;br /&gt;Par défaut, le wiki est accessible sur le port 8890 &lt;/li&gt;&lt;/ul&gt;Pour l’utilisation de SSO par WebCenter Services, il faut faire un &lt;i&gt;forward&lt;/i&gt; des requêtes au niveau de OHS. &lt;a href="http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e12405/wcadm_security.htm#BGBDADFE" target="_blank"&gt;Cela est documenté&lt;/a&gt;.&lt;br /&gt;cf &lt;a href="http://download.oracle.com/docs/cd/E12839_01/webcenter.1111/e12405/wcadm_security.htm#BGBDHDFI"&gt;&lt;i&gt;Configuring the Oracle HTTP Server and Associated mods&lt;/i&gt;&lt;/a&gt; &lt;br /&gt;Options: L’installation de Oracle Portal 11G peut être l’occasion de combiner son usage avec celui des nouveaux services disponibles dans WebCenter Services (licence à acquérir en sus de Oracle Portal).&lt;br /&gt;Les modules à installer sont disponibles dans le package Oracle &lt;a href="http://otn.oracle.com/" target="_blank"&gt;Webcenter Suite&lt;/a&gt;. &lt;br /&gt;&lt;div align="justify"&gt;Utilisation de Oracle Entreprise Linux:&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Le choix de Oracle Enterprise Linux n’a pas été possible parce que Oracle IDM 10.1.4.1 n’est pas supporté pour cette plate-forme&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;b&gt;Particularités pour la version 64-bit&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Il faut télécharger la version adaptée pour Windows 64-bit. La version Portal 32-bit ne pourra pas s'installer sur Windows 64-bit.&lt;br /&gt;Pour WLS, prendre la version 64 bits : .&lt;code&gt;wls1031_generic.jar&lt;/code&gt; (for all 64-bit platforms) &lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Avant d'installer wls, il faut télécharger une JVM 64 bits. Prendre celle d'Oracle: &lt;a href="http://www.oracle.com/technology/software/products/jrockit/index.html"&gt;Jrockit&lt;/a&gt; Mission Control.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;(Sinon, erreur INST-07408 renvoyé par l'assistant d'installation Portal) &lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Modifier le fichier .&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;product.properties &lt;/span&gt;(dans le repertoire &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;XXXX\Middleware\wlserver_10.3&lt;/span&gt;) et adapter les variables JAVA_HOME et JAVAHOME afin de leur faire référencer le point d'installation du nouveau JRE 64 bits &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;C:\Program Files\Java\jrmc-3.1.2-1.6.0&lt;/span&gt; , dans mon exemple.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Tester la version en tapant : &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java -version&lt;/span&gt; dans un fenetre DOS.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;On doit obtenir quelque chose ressemblant à ce qui suit :&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;java version "1.6.0_14"&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Java(TM) SE Runtime Environment (build 1.6.0_14-b08)&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;BEA JRockit(R) (build R27.6.5-32_o-121899-1.6.0_14-20091001-2106-windows-x86_64,&lt;/span&gt;&lt;br style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;compiled mode)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-family: inherit;"&gt;cf post sur l'&lt;/span&gt;&lt;a href="http://pmonaco.blogspot.com/2009/11/installation-de-oracle-portal-11g-sur.html" style="font-family: inherit;"&gt;installation de Portal 11g sur une AMI EC2 d'Amazon&lt;/a&gt;&lt;span style="font-family: inherit;"&gt;. &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Tests de bon fonctionnement&lt;/h4&gt;&lt;div align="justify"&gt;Obtenir la liste des ports qui ont été attribués par l’installation:&lt;br /&gt;./opmnctl status –l&lt;br /&gt;&lt;/div&gt;&lt;code&gt;Afficher la page d’accueil de Portal:&lt;br /&gt;http://&lt;/code&gt;&lt;code&gt;host&lt;/code&gt;&lt;code&gt;:&lt;/code&gt;&lt;code&gt;port&lt;/code&gt;&lt;code&gt;/portal/pls/portal&lt;/code&gt; &lt;br /&gt;&lt;h4&gt;TroubleShooting&lt;/h4&gt;Si la machine est peu puissante, ou bien si la plate-forme est constituée d’une seule VM, on peut être confronté à un problème de démarrage des serveur WebLogic ou bien du serveur OHS (Apache) avec un message du style: &lt;span style="font-family: Courier New;"&gt;oracle.as.config.ProvisionException: Failed to invoke Opmn reload&lt;/span&gt;&lt;br /&gt;Cela est documenté dans Bug.8391125/8357185 (36) OPMN RELOAD FAILING ON MACHINE WITH HEAVY LOAD&lt;br /&gt;On rencontre ce phénomène sur des machines limitées en puissance CPU/RAM&lt;br /&gt;&lt;h4&gt;Références&lt;/h4&gt;&lt;b&gt;Oracle® Fusion Middleware &lt;a href="http://download.oracle.com/docs/cd/E12839_01/install.1111/e12003/claqi.htm" target="_blank"&gt;Quick Installation Guide&lt;/a&gt; for Oracle Portal, Forms, Reports and Discoverer&lt;/b&gt;&lt;br /&gt;&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cb1ed3a1-4d7d-47a1-b73e-8101727cddad" style="display: inline; float: none; margin: 0px; padding: 0px;"&gt;Mots clés Technorati : &lt;a href="http://technorati.com/tags/portal" rel="tag"&gt;portal&lt;/a&gt;,&lt;a href="http://technorati.com/tags/portail" rel="tag"&gt;portail&lt;/a&gt;,&lt;a href="http://technorati.com/tags/installation" rel="tag"&gt;installation&lt;/a&gt;,&lt;a href="http://technorati.com/tags/oracle" rel="tag"&gt;oracle&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-7099597392241023844?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/7099597392241023844/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=7099597392241023844' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/7099597392241023844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/7099597392241023844'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/10/installation-de-oracle-portal-11g.html' title='Installation de Oracle Portal 11g Release 1 (11.1.1)'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6528671686690191870</id><published>2009-06-18T16:22:00.005+02:00</published><updated>2009-06-18T16:43:36.033+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='wls'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Gestion des Users avec Oracle Wiki</title><content type='html'>La toute dernière version de Oracle Wiki 10.1.3.4 est certifiée avec WebLogic Server.&lt;br /&gt;Par défaut, l'utilisateur administrateur du domaine (&lt;em&gt;weblogic&lt;/em&gt;, par exemple), sera utilisé pour la toute première connexion à Oracle Wiki.&lt;br /&gt;Dans le cas ou le référentiel du wiki est basé sur une database Oracle et si l'on souhaite enregistrer un nouvel utilisateur, il faut effectuer cette opération au niveau de la console de WebLogic Server, et non pas au niveau de la console du Wiki. Dès lors, Oracle Wiki procèdera au provisionnement du nouvel utilisateur après la toute première connexion.&lt;br /&gt;Dans le cas contraire, c'est-à-dire si l'utilisateur est enregistré directement dans la console du wiki, aucune connexion ne sera possible, même si ce même utilisateur est ensuite enregistré dans la console de WebLogic.&lt;br /&gt;Afin de contourner ce problème, il faut supprimer l'enregistrement dans la table USERS, puis tenter à nouveau une connexion dans la console du Wiki.&lt;br /&gt;Par ailleurs, si le lien vers le blog privé d'un utilisateur n'est pas affiché, alors que celui-ci est connecté, on peut contourner ce problème en créant l'entrée dans la table BLOGS (utiliser la sequence BLOGS_SEQUENCE.nextval pour alimenter la colonne BID.) Non supporté, bien evidemment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6528671686690191870?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6528671686690191870/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6528671686690191870' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6528671686690191870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6528671686690191870'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/06/gestion-des-users-avec-oracle-wiki.html' title='Gestion des Users avec Oracle Wiki'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-7696241458054746594</id><published>2009-03-25T23:30:00.006+01:00</published><updated>2009-05-16T15:09:19.998+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lyrics'/><category scheme='http://www.blogger.com/atom/ns#' term='musique'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='paroles'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Utilisation de la librairie Java ID3 Tag</title><content type='html'>Il s'agit d'une librairie Java qui permet, entre autres, d'extraire le contenu des tags ID3Vx depuis un fichier mp3. Cette librairie est &lt;a href="http://javamusictag.sourceforge.net/"&gt;disponible sur sourceforge&lt;/a&gt;.&lt;br /&gt;Pour extraire les paroles (Lyrics) depuis une page JSP par exemple, il faut utiliser un code semblable à ce qui suit: &lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;%@page import="org.farng.mp3.id3.*"%&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;String lyrics="test"; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RandomAccessFile fic;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ID3v2_3 tagz = new ID3v2_3();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;fic = new RandomAccessFile("&lt;... CHEMIN DU FICHER MP3 ...&gt;" ,"r");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;tagz = new ID3v2_3(fic);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;} catch (IOException io) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("erreur : le fichier n'est pas valide");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}catch (TagException tag) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("erreur : le format du fichier n'est pas valide");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;} &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;// lecture des paroles&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;System.out.println("Extraction des Lyrics");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;lyrics=tagz.getSongLyric();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cela marchera pour les fichiers qui contiennent un tag Lyric de type ID3 V2 (&lt;span style="FONT-STYLE: italic"&gt;Unsychronised lyrics/text transcription&lt;/span&gt;) avec une valeur de l'attribut language='eng'. Ne pas confondre ce tag avec celui, plus ancien, qui enregistre les paroles à la fin du fichier.&lt;br /&gt;Pour les paroles qui ont été ajoutées avec un outil paramétré en français (iTunes, Explorateur Windows etc.), l'appel ne renverra aucun texte.&lt;br /&gt;Il est necessaire de &lt;span style="FONT-STYLE: italic"&gt;patcher &lt;/span&gt;une classe du package. Cette classe est : ID3v2_3.&lt;br /&gt;&lt;br /&gt;Manipulations:&lt;br /&gt;&lt;br /&gt;Récuperer le &lt;a href="http://prdownloads.sourceforge.net/javamusictag/jid3lib-0.5.4.jar?download"&gt;source de la librairie&lt;/a&gt;&lt;br /&gt;Extraire le contenu du fichier jid3lib-0.5.4.jar&lt;br /&gt;jar -xvf jid3lib-0.5.4.jar&lt;br /&gt;Editer le fichier ID3v2_3.java (dans le repertoire src/org/farng/mp3/id3&lt;br /&gt;Aprés le motif:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;if (text == "") {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;frame = getFrame("USLT" + ((char) 0) + "eng" + ((char) 0) + "");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if (frame != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FrameBodyUSLT body = (FrameBodyUSLT) frame.getBody();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;text = body.getLyric();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;il suffit d'ajouter celui-ci:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;if (text == "") {&lt;br /&gt;frame = getFrame("USLT" + ((char) 0) + "&lt;span style="FONT-WEIGHT: bold"&gt;fre&lt;/span&gt;" + ((char) 0) + "");&lt;br /&gt;if (frame != null) {&lt;br /&gt;FrameBodyUSLT body = (FrameBodyUSLT) frame.getBody();&lt;br /&gt;text = body.getLyric();&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Puis refaire une librairie avec la commande jar.&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;jar -cvf jid3lib-0.5.4.jar *&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Vérifier la présence de deux repertoires: org et META-INF dans le fichier final.&lt;br /&gt;La doc qui est fourni avec la librairie est très pédagogique. Le formalisme ID3 dans sa version V2 tranforme un fichier MP3 en véritable mini base de données !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-7696241458054746594?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/7696241458054746594/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=7696241458054746594' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/7696241458054746594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/7696241458054746594'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/03/utilisation-de-la-librairie-java-id3.html' title='Utilisation de la librairie Java ID3 Tag'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-2565180384659253148</id><published>2009-03-17T22:17:00.003+01:00</published><updated>2009-06-10T18:36:21.592+02:00</updated><title type='text'>Lecture du Livre "Economie du logiciel libre" de F. Ellie</title><content type='html'>J'ai beaucoup aimé ce livre.&lt;br /&gt;Le rapprochement de concepts philosophiques avec le monde du logiciel est très original.&lt;br /&gt;&lt;br /&gt;Blog du livre "&lt;a href="http://www.economiedulogiciellibre.org/"&gt;Economie du logiciel libre&lt;/a&gt;" écrit par François Ellie.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-2565180384659253148?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/2565180384659253148/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=2565180384659253148' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2565180384659253148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2565180384659253148'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/03/lecture-du-livre-economie-du-logiciel.html' title='Lecture du Livre &quot;Economie du logiciel libre&quot; de F. Ellie'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-9170772688028946961</id><published>2009-01-21T19:08:00.004+01:00</published><updated>2009-06-18T16:56:26.115+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><category scheme='http://www.blogger.com/atom/ns#' term='batch'/><category scheme='http://www.blogger.com/atom/ns#' term='jpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='photos'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Modifier la date de création d'un repertoire de photos</title><content type='html'>&lt;p&gt;Scénario: Un repertoire contient des photos. On copie ce repertoire vers un autre disque. On constatera que la date de création ainsi que la date de modification du repertoire ne sont plus celles d'origine.&lt;br /&gt;Besoin: On souhaite que la date de création du repertoire soit égale à la date de la photo la plus ancienne.&lt;/p&gt;&lt;p&gt;J'ai utilisé le langage &lt;a href="http://fr.wikipedia.org/wiki/Windows_PowerShell"&gt;PowerShell&lt;/a&gt; de Microsoft pour faire ce travail sur plusieurs centaines de dossiers.&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt;($dossier &lt;span class="kwrd"&gt;in&lt;/span&gt; gci) {&lt;br /&gt; $d= (gci $dossier\*.jpg sort-&lt;span class="kwrd"&gt;object&lt;/span&gt; CreationTime)[0].Get_LastWriteTime()&lt;br /&gt; $dossier.LastWriteTime=$d&lt;br /&gt; $dossier.CreationTime=$d&lt;br /&gt;}&lt;/pre&gt;&lt;p&gt;Admirable language de script!&lt;/p&gt;&lt;p&gt;Il faut lire comme suit:&lt;br /&gt;Pour chacun (Get-ChildItem ou gci)) des dossiers du repertoire courant, aller lire toutes les photos au format JPEG qui s'y trouvent, les trier par ordre croissant de date de création, puis prendre la date de modification de la premiere([0]) de la liste. Avec la valeur de cette date, modifier à la fois la date de creation et celle de modification du repertoire conteneur.&lt;br /&gt;&lt;br /&gt;Prerequis sur XP: Framework .NET 2.0 et &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;PowerShell&lt;/a&gt; V1.0 ou V2.0 CTP&lt;br /&gt;&lt;br /&gt;Il est possible d'utiliser PowerShell pour la manipulation "industrielle" des metadata EXIF.&lt;br /&gt;&lt;br /&gt;Fouiller sur le net.&lt;br /&gt;&lt;br /&gt;PowerShell permet d'adpter la même approche de developpement que ce soit un annuaire AD, une base de registre ou bien un file System. les trois seront considérés comme des structures hiérarchiques.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-9170772688028946961?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/9170772688028946961/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=9170772688028946961' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/9170772688028946961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/9170772688028946961'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2009/01/modifier-la-date-de-cration-d.html' title='Modifier la date de création d&amp;#39;un repertoire de photos'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-5147899001254394648</id><published>2008-11-04T23:33:00.002+01:00</published><updated>2009-04-17T22:30:07.570+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='outlook'/><category scheme='http://www.blogger.com/atom/ns#' term='recherche'/><title type='text'>Windows Desktop Search et Outlook 2000</title><content type='html'>&lt;p&gt;Les messages de Outlook 2000 ne sont pas indexés par WDS. Il faut utiliser une version 2003 ou supérieure.&lt;br /&gt;Version testée: WindowsSearch-KB940157-XP-x86-enu (oct 2008)&lt;/p&gt;&lt;p&gt;cf un &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1501739&amp;amp;SiteID=1"&gt;forum sur le sujet&lt;/a&gt;&lt;/p&gt;&lt;p&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-5147899001254394648?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/5147899001254394648/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=5147899001254394648' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5147899001254394648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5147899001254394648'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/11/windows-desktop-search-et-outlook-2000.html' title='Windows Desktop Search et Outlook 2000'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-5154408631416410890</id><published>2008-11-03T23:15:00.002+01:00</published><updated>2009-04-17T22:30:39.847+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lyrics'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='paroles'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>Récuperer les paroles (Lyrics) de chansons dans iTunes</title><content type='html'>&lt;p&gt;J'ai testé le &lt;a href="http://itunes-lyrics-importer.en.softonic.com/"&gt;logiciel iTune Lyrics Importer 1.1&lt;/a&gt; avec iTunes V8.&lt;/p&gt;&lt;p&gt;Ce produit &lt;em&gt;freeware&lt;/em&gt; permet d'incorporer, dans un fichier mp3, les paroles de la chanson correspondante. Il est necessaire que le fichier soit correctement &lt;em&gt;taggé. &lt;/em&gt;Le texte est rentré avec le language &lt;em&gt;engxxxx. Il n'apparaitra peut-être pas dans l'interface de Windows si celle-ci est en Français.&lt;/em&gt; En revanche, il est bien visible dans Windows media Player ou dans MP3Tag.&lt;/p&gt;&lt;p&gt;La base de données utilisée est &lt;a href="http://lyricwiki.org/Main_Page"&gt;LyricsWiki&lt;/a&gt; (600.000 lyrics ?).&lt;/p&gt;&lt;p&gt;Le plugin opère sur une selection de morceaux, depuis l'interface de iTunes. Option manuelle pas à pas, ou bien en mode automatique, avec ou sans remplacement d'un éventuel texte déjà éxistant. Compter environ deux secondes de traitement pour chaque titre.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-5154408631416410890?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/5154408631416410890/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=5154408631416410890' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5154408631416410890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/5154408631416410890'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/11/rcuperer-les-paroles-lyrics-de-chansons.html' title='Récuperer les paroles (Lyrics) de chansons dans iTunes'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-1528784872775910070</id><published>2008-10-29T23:18:00.005+01:00</published><updated>2009-10-28T22:49:07.970+01:00</updated><title type='text'>Test avec Windows Live Writer</title><content type='html'>&lt;p&gt;le client &lt;strong&gt;Windows Live Writer&lt;/strong&gt; fonctionne avec Blogger.    &lt;br /&gt;Les images sont prises en charge.    &lt;br /&gt;Ce post a été entièrement réalisé avec WLW&lt;/p&gt;  &lt;p&gt;Merci à Jean-Luc Tholozan pour &lt;a href="http://jl2tho.blogspot.com/2007/08/pourquoi-utiliser-blogger-un-retour-d.html"&gt;son post &lt;/a&gt;qui m'a mis sur cette piste.    &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_jca2-r9Sg1s/SQoXLulywyI/AAAAAAAABWc/eMDmmNbU37g/s1600-h/palestrina1%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="palestrina1" align="left" src="http://lh6.ggpht.com/_jca2-r9Sg1s/SQjhFztim5I/AAAAAAAABWg/HvKtlBPC2Tg/palestrina1_thumb%5B2%5D.jpg?imgmax=800" width="136" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Palestrina   &lt;br /&gt;    &lt;br /&gt;Lien vers &lt;a href="http://labnol.blogspot.com/2007/06/get-productive-with-windows-live-writer.html"&gt;infos d'utilisation&lt;/a&gt; sur WLW&lt;/p&gt;  &lt;p&gt;Il existe un correcteur orthographique pour le Français.   &lt;br /&gt;Ce correcteur est moins complet que celui de Word.    &lt;br /&gt;Le tableau suivant a été composé avec WLW:&lt;/p&gt;  &lt;table style="width: 294px; height: 65px" border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="color: rgb(153,0,0)" valign="top" width="147"&gt;         &lt;h2&gt;&lt;font size="3"&gt;Année&lt;/font&gt;&lt;/h2&gt;       &lt;/td&gt;        &lt;td style="color: rgb(153,0,0)" valign="top" width="145"&gt;         &lt;h2&gt;&lt;span style="font-family: arial; font-size: 100%"&gt;&lt;font size="3"&gt;Mois&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="147"&gt;1999         &lt;br /&gt;2001&lt;/td&gt;        &lt;td valign="top" width="145"&gt;Mars         &lt;br /&gt;Avril&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1528784872775910070?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1528784872775910070/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1528784872775910070' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1528784872775910070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1528784872775910070'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/10/test-avec-windows-live-writer.html' title='Test avec Windows Live Writer'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_jca2-r9Sg1s/SQjhFztim5I/AAAAAAAABWg/HvKtlBPC2Tg/s72-c/palestrina1_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-6576701345494537627</id><published>2008-10-29T14:35:00.002+01:00</published><updated>2009-10-28T22:44:50.267+01:00</updated><title type='text'>Client pour Blogger</title><content type='html'>&lt;p&gt;J'ai testé Sun Weblog Publisher pour OpenOffice 2.4.    &lt;br /&gt;Les images ne sont pas récupérées correctement par Blogger.     &lt;br /&gt;J'ai également testé Google Docs,Cette approche permet de publier un document depuis son folder. Les images sont prises en compte.     &lt;br /&gt;Quant à Picasa, cela permet de poster un blog à partir d'une photo, en ajoutant du texte autour.     &lt;br /&gt;C'est pratique si l'objet principal du post est constitué par la photo.     &lt;br /&gt;Je vais regarder les APIs de Gdata de plus près. Cela pourrait être utilisé pour récupérer l'ensemble de ses posts pour le sauvegarder.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-6576701345494537627?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/6576701345494537627/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=6576701345494537627' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6576701345494537627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/6576701345494537627'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/10/client-pour-blogger.html' title='Client pour Blogger'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-1587706876862897020</id><published>2008-10-28T14:32:00.007+01:00</published><updated>2009-04-17T22:31:39.300+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='publisher'/><category scheme='http://www.blogger.com/atom/ns#' term='fop'/><category scheme='http://www.blogger.com/atom/ns#' term='printer'/><category scheme='http://www.blogger.com/atom/ns#' term='pcl'/><category scheme='http://www.blogger.com/atom/ns#' term='bi'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>BI Publisher and PCL output format with FOP</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_jca2-r9Sg1s/SQcV2YNwQ_I/AAAAAAAABUQ/oZmGI-NLZho/s1600-h/snap00556.jpg"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 320px; FLOAT: right; HEIGHT: 238px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5262198713562973170" border="0" alt="" src="http://3.bp.blogspot.com/_jca2-r9Sg1s/SQcV2YNwQ_I/AAAAAAAABUQ/oZmGI-NLZho/s320/snap00556.jpg" /&gt;&lt;/a&gt; I've made tests with Oracle BI Publisher and Apache FOP 0.93 in order to adress a specific need (PCL output)&lt;br /&gt;&lt;br /&gt;My first tests where not sucessful, BUT, with minor modifications in the FO object generated by BI Publisher, it's possible to use FOP.&lt;br /&gt;The main technical stopper is :&lt;br /&gt;region-body must be declared BEFORE region-before and region-after in the simple-master-page container.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_jca2-r9Sg1s/SQcWafQyKsI/AAAAAAAABUY/72MSke4tVrg/s1600-h/snap00557.jpg"&gt;&lt;/a&gt;&lt;br /&gt;After a manual switch, i tried the Apache FOP program with the -R parameter (relaxed validation wich ignores xdfo extensions) and a PCL or TXT output format.&lt;br /&gt;The result is OK, despite some minors display problem.&lt;br /&gt;&lt;br /&gt;Template rtf:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jca2-r9Sg1s/SQcWt2B3oDI/AAAAAAAABUg/varoihqvRs0/s1600-h/snap00557.jpg"&gt;&lt;img style="WIDTH: 200px; HEIGHT: 76px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5262199666458992690" border="0" alt="" src="http://4.bp.blogspot.com/_jca2-r9Sg1s/SQcWt2B3oDI/AAAAAAAABUg/varoihqvRs0/s200/snap00557.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Utilisation du renderer FOP d'Apache&lt;/span&gt;&lt;br /&gt;L'idée est d'utiliser BI PUblisher jusqu'à la production de ce que l'on appelle un objet FO (description du rapport avant sa restitution sur une imprimante ou pdf, ou autre).&lt;br /&gt;Le moteur FOP de BI Publisher n'envoie pas directement le résultat sur une imprimante laser PCL ou un fichier auu format TXT.&lt;br /&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;a href="http://1.bp.blogspot.com/_jca2-r9Sg1s/SQcWafQyKsI/AAAAAAAABUY/72MSke4tVrg/s1600-h/snap00557.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-1587706876862897020?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/1587706876862897020/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=1587706876862897020' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1587706876862897020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/1587706876862897020'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/10/bi-publisher-and-pck-output-format.html' title='BI Publisher and PCL output format with FOP'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_jca2-r9Sg1s/SQcV2YNwQ_I/AAAAAAAABUQ/oZmGI-NLZho/s72-c/snap00556.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8129976.post-2751047545824444832</id><published>2008-03-21T10:21:00.006+01:00</published><updated>2008-03-21T10:58:39.065+01:00</updated><title type='text'>Enterprise Users et Active Directory</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_jca2-r9Sg1s/R-N_v7u_m3I/AAAAAAAAAAM/qL5kH2kGYiY/s1600-h/image015.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5180124457871580018" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_jca2-r9Sg1s/R-N_v7u_m3I/AAAAAAAAAAM/qL5kH2kGYiY/s320/image015.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;Les notes qui suivent concernent la mise en oeuvre des enterprise Users avec une authentification directe sur AD, sans besoin de synchro avec un annuaire OID. Ce mode de focntionnement s'appuie sur l'emploi du produit &lt;strong&gt;&lt;a href="http://download.oracle.com/docs/html/E10286_01/toc.htm"&gt;Oracle Virtual Directory&lt;/a&gt;&lt;/strong&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;Il faut s'assurer que la branche OracleContext est bien visible lorsque l'on se connecte&lt;/span&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt; à OVD. Si ce n'est pas le cas, alors il faut revoir le &lt;em&gt;mapping&lt;/em&gt; correspondant à l'adapter pour AD.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;Le plus simple est de mettre en correspondance au niveau du domaine, sans descendre plus bas.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;Par exemple: AD: &lt;span style="font-family:courier new;"&gt;dc=mydomain,dc=com&lt;/span&gt; &lt;==&gt; OVD: &lt;span style="font-family:courier new;"&gt;dc=vision,dc=com&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;Au préalable, le script d'extension de AD a rajouté un &lt;em&gt;container&lt;/em&gt; Oracle Context (au même niveau que la branche Users).&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span lang="FR" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-: FRfont-family:'Times New Roman';" &gt;&lt;div&gt;Par défaut, le script d'extension du Locale Store Adapter fait référence au &lt;em&gt;superuser&lt;/em&gt; : cn=orcladmin. Si le &lt;em&gt;superuser&lt;/em&gt; &lt;span style="font-family:courier new;"&gt;cn=admin&lt;/span&gt; a été choisi pour OVD, il faudra s'aligner sur ce dernier en effectuant une modification du script avant le lancement de la commande &lt;span style="font-family:courier new;"&gt;ldapmodify&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;Eviter de faire un copie/Coller depuis le document PDF vers la fenêtre de commande, en particulier pour la commande d'extention du schema AD. Certains caractères invisibles entraînent un non fonctionnement ( invalid credentials)&lt;/div&gt;&lt;div&gt;cf doc OVD 10.1.4.2 pour les &lt;a href="http://download.oracle.com/docs/html/E10286_01/eus.htm#sthref158"&gt;détails d'installation&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;A ce propos, il faut savoir que la patch 10.1.4.2 doit être appliqué sur une installation 10.1.4.1.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8129976-2751047545824444832?l=pmonaco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pmonaco.blogspot.com/feeds/2751047545824444832/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8129976&amp;postID=2751047545824444832' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2751047545824444832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8129976/posts/default/2751047545824444832'/><link rel='alternate' type='text/html' href='http://pmonaco.blogspot.com/2008/03/enterprise-users-et-active-directory.html' title='Enterprise Users et Active Directory'/><author><name>Patrick Monaco</name><uri>http://www.blogger.com/profile/01474253466222193621</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jca2-r9Sg1s/R-N_v7u_m3I/AAAAAAAAAAM/qL5kH2kGYiY/s72-c/image015.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
