Projet de migratio de joomla 1.5.X ver pluxml

securitoilesecuritoile Member
mai 2010 modifié dans Entraide
Bonjour à la communauté,

C'est mon premier poste sur votre forum. J'utilise depuis des décennies des cms utilisant des bases de données sql, je crois beaucoup en l'avenir du xml (sans base de données).

Je souhaite donc migrer mon site vers pluxml, mais voici mes principales contraintes.

Récupérer tout ce qui contenu avec les metas (titre, description avec url rewriting ou possibilité de faire des redirections des anciennes url vers les nouvelles) (priorité absolue).
Avoir un éditeur xhtml (Fait => j'ai ajouté CKeditor).
Formulaire de contact avec champs personnalisable (page créer mais pas encore modifiée).
Gestions des droits pour un rédacteur qui peut écrire et éditer ses billets.
Créer une FAQ (ok).
Intégrer google comme moteur de recherche.
Pouvoir faire des templates différents selon les parties du site.
Avoir une version mobile (ok testé).
Pouvoir afficher des flux rss comme des billets créer (grâce à l'importation d'un flux rss ou atom) (testé, ne fonctionne pas).
Pouvoir partager (tweeter,buzzer,facebooker) les billets depuis le site (ok merci pour le wiki).
Migrer le template actuel ou adapter un autre à pluxml (voir en fin).

Si la migration se passe bien, je compte fournir des solutions pour la sécurité de pluxml bien plus intéressant qu'une découvert de xss (doit bien avoir d'autre à découvrir :).

Merci bien pour votre aide et expérience.

Edit : ajout entre () de ce qui est fait ou pas et des problèmes encours.

Réponses

  • FrédéricFrédéric Member
    mai 2010 modifié
    Bonsoir securitoile,
    securitoile a écrit:
    Récupérer tout ce qui est meta (titre, description avec url rewriting ou possibilité de faire des redirections des anciennes url vers les nouvelles).
    Alors la je pense que ca vas être le plus difficile/long à réaliser, donc je passe...
    Avoir un éditeur xhtml.
    La PlxToolbar est intégré par défaut en mode "source", il est vrai qu'une interface wysing serait a voir.
    Mais elle a le mérite de rendre du contenu valide w3c.
    Formulaire de contact avec champs personnalisable.
    Réalisable via une page statique, un code est dispo sur le wiki
    Gestions des droits pour un rédacteur qui peut écrire et éditer ses billets.
    Fonction non disponible, mais SapinTremblant a donné une astuce sur le forum pour restreindre certaine page dans l'admin.
    Créer une FAQ.
    Encore par une page statique
    Intégrer google comme moteur de recherche.
    Le wiki te propose le choix de 2 moteur de recherche dont celui via google.
    Pouvoir faire des templates différents selon les parties du site.
    Tout a fait possible avec l'ID de la page en question
    Avoir une version mobile.
    Intégré en natif avec detection auto de celle ci.
    Pouvoir afficher des flux rss comme des billets créer (grâce à l'importation d'un flux rss ou atom).
    Possible avec le Plugin Simplepie
    Pouvoir partager (tweeter,buzzer,facebooker) les billets depuis le site.
    Un plugins existe aussi, suffis de suivre l'exemple pour rajouter d'autre réseaux.
    Migrer le template actuel ou adapter un autre à pluxml.
    Cela est tout a fais possible aussi, on se feras un plaisir de t'aider ;)
  • StéphaneStéphane Member, Former PluXml Project Manager
    Et si tu es patient la prochaine version de pluxml répondra encore mieux à tes besoins.
    Je dis ça mais je dis rien.... :)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Je viens de trouver encore des failles sur la version dans la partie contact.
    J'arrive à me spammer juste en rafraichissant la page contact#form.
    Je vais vous fournir des tuyaux.

    Essayer d'ajouter des points techniques comme conseillé à partir de 7 à 10.
    http://www.securi-toile.com/securite/conseil-limiter-spams-personnels-professionnels

    Je testerai prochaine fois de spammer sans être un humain mais un bot on verra bien ce qui se passe
  • Voila ma page contact fonctionne bien à part un bug au niveau du style css je pense et le problème de spam.
    J'ai pu ajouter des champs de façon basique.
    <?php
    # Page statique Pluxml : formulaire de contact par florent@pluxml.org
    # revision 1.0 par Stephane: compatibilité pluxml 4.2 
    
    if(!defined('PLX_ROOT')) exit;
    
    # Renseignez ici votre adresse mail
    $email = email de reception';
    
    # Notre capcha
    $capcha = new plxCapcha();
    
    # Nos variables
    $erreur = '';
    $succes = '';
    
    if(!empty($_POST)) { # Formulaire valide
    
    	if($_POST['rep2'] == md5($capcha->gds.$_POST['rep'])) { # Capcha valide
    		$_POST['nom'] = trim($_POST['nom']);
    		$_POST['content'] = trim($_POST['content']);
    		$_POST['ip'] = plxUtils::getIp();
    		# On verifie les donnees
    		if(empty($_POST['nom']) OR empty($_POST['mail']) OR empty($_POST['content']))
    			$erreur = 'Merci de remplir tous les champs obligatoires';
    		if($erreur == '' AND !plxUtils::checkMail(trim($_POST['mail'])))
    			$erreur = 'L\'adresse mail saisie n\'est pas valide';
    		# On peut envoyer si pas d'erreur
    		if($erreur == '') {
    			$corps .= 'Son nom : '.$_POST['nom']."\n";
    			$corps .= 'Son prénom : '.$_POST['prenom']."\n";
    			$corps .= 'Son téléphone : '.$_POST['tel']."\n";
    			$corps .= 'Son mail : '.$_POST['mail']."\n";
    			$corps .= 'Son url : '.$_POST['url']."\n";
    			$corps .= 'Son adresse IP : '.$_POST['ip']."\n";
    			$corps .= 'Son message : '."\n";
    			$corps .= $_POST['content'];
    			# On retire certains caractères
    			$corps = str_replace("\r"," ",$corps);
    			# On envoi le mail
    			$headers = 'From: '.$_POST['mail']."\n";
    			$headers .= 'MIME-Version: 1.0'."\n";
    			$headers .= 'Content-type: text/plain; charset="'.PLX_CHARSET.'"'."\n";
    			$headers .= 'Content-transfer-encoding: 8bit'."\n";
    			if(mail($email,'## Pluxml ## contact depuis votre formulaire de contact',$corps, $headers))
    				$succes = 'Merci de nous avoir contacté, nous vous répondrons le plus rapidement possible.';
    			else
    				$erreur = 'Une erreur s\'est produite au cours de l\'envoi de votre message...';
    		}
    	} else { # Capcha non valide
    		$erreur = 'la vérification anti-spam a échouée';
    	}
    } else {
    	# Initialisation
    	$erreur = 'Merci de remplir le formulaire ci-dessous';
    	$_POST['nom'] = '';
    	$_POST['prenom'] = '';
    	$_POST['tel'] = '';	
    	$_POST['url'] = '';	
    	$_POST['content'] = '';
    	$_POST['mail'] = '';
    }
    ?>
    <div id="form">
    	<p class="message_contact"><?php echo (!empty($erreur))?$erreur:$succes; ?></p>
    	<?php if(!empty($erreur) OR empty($_POST)): ?>
    		<form action="#form" method="post">
    			<fieldset>
    				<label>Votre nom :</label>
    				<input name="nom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['nom']) ?>" maxlength="30" /><br />
    				<label>Votre prénom :</label>
    				<input name="prenom" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['prenom']) ?>" maxlength="30" /><br />
    				<label>Votre N° de téléphone :</label>
    				<input name="tel" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['tel']) ?>" maxlength="30" /><br />
    				<label>Votre e-mail :</label>
    				<input name="mail" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['mail']) ?>" /><br />
    				<label>Url de votre site :</label>
    				<input name="url" type="text" size="30" value="<?php echo plxUtils::strCheck($_POST['url']) ?>" maxlength="30" /><br />
    				<label>Votre message :</label>
    				<textarea name="content" cols="30" rows="8"><?php echo plxUtils::strCheck($_POST['content']) ?></textarea>
    				<label><strong>Vérification anti-spam</strong> :</label>
    				<p><?php echo $capcha->q(); ?> : <input name="rep" type="text" size="10" /></p>
    				<input name="rep2" type="hidden" value="<?php echo $capcha->r(); ?>" />
    				<p><input type="submit" value="Envoyer" /> <input type="reset" value="Effacer" /></p>
    			</fieldset>
    		</form>
    		<p>Les informations recueillies dans ce formulaire font l'objet d'un traitement informatique destiné à répondre au mieux à votre demande. Conformément à la loi «informatique et libertés» du 6 janvier 1978, vous bénéficiez d'un droit d'accès et de rectification aux informations qui vous concernent.<br>
    Si vous souhaitez exercer ce droit et obtenir communication des informations vous concernant, veuillez vous adresser à : XXXX
    </p>
    	<?php endif; # Fin du if si mail envoye ?>
    </div>
    
  • petite question, est-il possible de mettre un billet (sans catégorie) comme un edito (toujours en tête sur l'accueil).
    est-il possible d'ajouter des tags, des mots clés, virer les numéro dans l'url comme (site/?static1/statique-1) ? pour une url sans id (pas beau)
Connectez-vous ou Inscrivez-vous pour répondre.