tag:linuxfr.org,2005:/users/anw/postsLinuxFr.org : les publications de anw2006-10-08T12:11:13+02:00/favicon.pngtag:linuxfr.org,2005:Post/190472006-10-08T12:11:13+02:002006-10-08T12:11:13+02:00XML Diff/changes en PHP ?Bonjour,<br />
<br />
Je recherche un moteur (écrit en PHP) qui permette de comparer deux fichiers XML et de récupérer la liste de leurs changements.<br />
Avez-vous connaissance d'un tel script ?<br />
<br />
Merci<div><a href="https://linuxfr.org/forums/programmation-php/posts/xml-diffchanges-en-php.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/73819/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-php/posts/xml-diffchanges-en-php#comments">ouvrir dans le navigateur</a>
</p>
anwhttps://linuxfr.org/nodes/73819/comments.atomtag:linuxfr.org,2005:Post/182982006-08-20T17:37:28+02:002006-08-20T17:37:28+02:00Expression régulière avec "solutions imbriquées"Je cherche à extraire d'un code HTML toutes les chaînes de caractères se trouvant entre deux tags. <br />
Je dois aussi pouvoir connaître le nom de ces deux tags.<br />
<br />
Par exemple, j'aimerais extraire du source suivant (les signes inférieur/supérieur des balises html ont été remplacés par { et } pour l'affichage)...<br />
<pre>{p}un exemple avec {i}de l'italique{/i} et des sauts de lignes{br/}...{/p}</pre><br />
<br />
...Les éléments suivants :<br />
- {p}un exemple avec {i}<br />
- {i}de l'italique{/i}<br />
- {/i} et des sauts de lignes{br/}<br />
- {br/}...{/p}<br />
<br />
Pour cela, j'utilise cette expression régulière :<br />
<pre>/\{([^}]+)\}([^}]+)\{([^}]+)\}/s</pre><br />
<br />
Le problème, c'est qu'elle me "zappe" un élément sur deux et ne me retourne que :<br />
- {p}un exemple avec {i}<br />
- {/i} et des sauts de lignes{br/}<br />
<br />
Ca doit être dû au fait que les éléments que je souhaite obtenir "partagent" un tag en commun, et que la recherche se poursuit à partir de la fin de la dernière solution trouvée et non à partir de la position de début de solution + 1...<br />
<br />
Une solution aurait pu être d'utiliser l'expression régulière suivante :<br />
<pre>/\}([^}]+)\{/s</pre><br />
Elle trouve bien tous les éléments, mais elle ne me permet pas d'obtenir le nom des deux tags qui encadrent chaque élément. Or, il me les faut absolument car j'ai un traitement à faire en fonction de ces tags...<br />
<br />
Vos solutions sont les bienvenues !<div><a href="https://linuxfr.org/forums/programmation-php/posts/expression-r%C3%A9guli%C3%A8re-avec-solutions-imbriqu%C3%A9es.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/73060/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-php/posts/expression-r%C3%A9guli%C3%A8re-avec-solutions-imbriqu%C3%A9es#comments">ouvrir dans le navigateur</a>
</p>
anwhttps://linuxfr.org/nodes/73060/comments.atomtag:linuxfr.org,2005:Post/181012006-08-05T17:19:39+02:002006-08-05T17:19:39+02:00Wiki/cms : synchro de contenu multilingueBonjour,<br />
Je cherche une application (wiki, cms...) permettant de coordonner efficacement les traductions de contenus à évolution rapide.<br />
<br />
En effet, il est très compliqué de maintenir à jour les traductions d'un site web multilingue sur lequel travaillent plusieurs éditeurs et traducteurs. <br />
<br />
Idéalement, l'application devrait permettre :<br />
- De créer de nouvelles pages dans une langue de départ<br />
- De traduire une page existante vers une autre langue, et de définir son statut comme <i>"traduction à jour"</i><br />
- Lors de l'édition d'une page dans la langue de départ, le statut des autres traductions de la page passe en <i>"traduction obsolète"</i><br />
- Lors de l'édition d'une <i>"traduction obsolète"</i>, visualisation d'un diff montrant les changements effectués dans la langue de départ depuis la dernière traduction de la page. Les traducteurs peuvent ainsi mettre à jour la traduction sans avoir à relire toute la page pour trouver ce qui a été modifié.<br />
- Si possible, une application en PHP<br />
<br />
J'ai eu beau chercher du côté des wikis et cms, je n'en ai trouvé aucun qui propose ce genre de fonctionnalités.<br />
<br />
<i>Wikipedia</i> lui-même ne semble pas disposer d'un outil efficace pour coordonner les traductions de ses articles ! <br />
En dehors d'un simple système de tag permettant de faire le lien entre les traductions d'un même article, aucun système ne permet de notifier les traducteurs lorsqu'une traduction n'est plus à jour. <br />
La seule solution est alors de retraduire régulièrement les articles en leur intégralité.<br />
<br />
Bien qu'ayant déjà rencontré cette problématique pour des sites personnels, mais aussi en entreprise, je n'ai jamais trouvé de solution convenable. Je serais donc très intéressé d'avoir votre avis sur la question.<br />
<br />
NB : Au fil de mes recherches, j'ai tout de même trouvé quelques pages intéressantes :<br />
- Une réflexion sur la question des wikis multilingues : <a href="http://www.usemod.com/cgi-bin/mb.pl?MultilingualWiki">http://www.usemod.com/cgi-bin/mb.pl?MultilingualWiki</a><br />
- LizzyWiki, un projet inachevé de wiki multilingue avec différents statuts pour les traductions ("à jour", "obsolète"...) : <a href="http://lizzy.iit.nrc.ca/LizzyHelpNew/public/wiki.cgi?Demos_and_future_plans">http://lizzy.iit.nrc.ca/LizzyHelpNew/public/wiki.cgi?Demos_a(...)</a><br />
- Une vidéo de démo du concept LizzyWiki (à voir absolument!) : <a href="http://lizzy.iit.nrc.ca/LizzyHelpNew/uploads/demo_of_multilingual_LizzyWiki_features.mov">http://lizzy.iit.nrc.ca/LizzyHelpNew/uploads/demo_of_multili(...)</a><div><a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/wikicms-synchro-de-contenu-multilingue.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/72871/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/wikicms-synchro-de-contenu-multilingue#comments">ouvrir dans le navigateur</a>
</p>
anwhttps://linuxfr.org/nodes/72871/comments.atomtag:linuxfr.org,2005:Post/146282006-02-04T19:51:17+01:002006-02-04T19:51:17+01:00Permissions avancées pour serveur web multiusersBonjour,<br />
Je suis en train de configurer un serveur web qui tourne en tant que www-data/www-data.<br />
Différents utilisateurs gèreront différents sites web dans leurs homes respectives (situées sous /home/www/), certains via ftp, d'autres via ssh. Aucun utilisateur ne doit accéder aux fichiers d'un autre.<br />
<br />
Je pensais mettre en place la configuration suivante : <br />
- mettre en place un sticky bit sur /home/www/ pour forcer le groupe à www-data<br />
- changer l'umask en 037 / 027 pour se protéger des autres utilisateurs<br />
<br />
<b>Premier problème :</b><br />
Le sticky bit s'enlève très facilement, il suffit que l'utilisateur fasse une mauvais manipulation avec son logiciel ftp pour enlever le sticky bit. Du coup, le serveur web ne pourra plus lire ses fichiers...<br />
<i>Connaissez-vous un moyen d'empêcher le retrait du sticky bit ?</i><br />
<br />
Pour y remédier, je pensais enlever les sticky bits et simplement ajouter www-data dans le groupe de chaque utilisateur. Cela fonctionne, mais niveau sécurité ça me dérange qu'apache ait accès à tous les fichiers de tous les utilisateurs...<br />
<i>Voyez-vous une autre solution ?</i><br />
<br />
<b>Second problème :</b><br />
Les utilisateurs perdent le contrôle des fichiers créés par apache, et sont ensuite obligés de passer par des scripts pour manipuler ces fichiers. J'ai pensé un instant ajouter les utilisateurs au groupe www-data mais, cela leur donnerait accès aux fichiers des autres utilisateurs...<br />
<i>Y a t-il un moyen de forcer apache à créer les fichiers avec le même user que son dossier parent ?</i><br />
<br />
Merci pour vos suggestions...<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/permissions-avanc%C3%A9es-pour-serveur-web-multiusers.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/69481/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/permissions-avanc%C3%A9es-pour-serveur-web-multiusers#comments">ouvrir dans le navigateur</a>
</p>
anwhttps://linuxfr.org/nodes/69481/comments.atom