Aller au contenu

[PHP] Clide

Featured Replies

Posté(e)

Bonjour,

Je viens vous présenter un script que j'ai créé.

Il s'agit d'un script en PHP qui remplace les pages (moches) générées par Apache dans une arborescence web destinée au stockage de fichiers, par une interface graphique beaucoup plus agréable et personnalisable.

Fonction et caractéristiques :

- Skin une arborescence http dédié au stockage de fichiers

- Modifications & Intégration très simple du design

- Player intégré pour les vidéos, les flashs, les flv, les mp3 les fichiers éditables et les images

- Gestion des Exifs par le player

- Affichage et Highlight de la sources des fichiers PHP dans le player

- Module d'administration pour uploader/supprimer des fichiers et créer des dossiers

- Possibilité de créer des comptes pour uploader

- Possibilité de ne pas afficher des fichiers ou des répertoires

- URLs semi réécrite pour une meilleure visualisation et un meilleur référencement sur les moteurs de recherche

- Création d'avatar dynamique automatique via l'administration

- xHTML 1.1 & CSS valid

Démo

Télécharger Clide

Vos remarques sont les bienvenues :)

Modifié par Absynthe

  • Réponses 51
  • Vues 14,1 k
  • Créé
  • Dernière réponse
Posté(e)

Vraiment sympa ! Beau boulot ! :francais::cartonrouge:

On en avait parlé sur un topic mais dans une version plus simple : liste répertoire serveur web

Pour améliorer la validation du CSS, tu peux diminuer le nombre de warning en ajoutant pour a:visited, a:visited:hover et .footer a:visited :

background-color : inherit;

PS : Je pense que je l'installerais dans les prochains jours pour le tester. :francais:

Posté(e)

Alors.. on essaye de se faire un explorateur AJAX... ? :|

Beau boulot en effet; je testerai ça plus en profondeur plus tard, pour le moment je bosse. :trois:

Posté(e)

Pas moyen de rajouter un contrôle sur l'admin de façon à pouvoir supprimer un répertoire (et donc tout son contenu) ?

Et petite critique (détails) :

- Perso j'aurais mis le module d'upload en dessous la création de dossier. c'est plus logique et comme ca on l'upload et suppr de fichier ensemble ! :yes:

- Sinon tu pourrais rajouter le lien de validation du css ...

- Enfin il serait très appréciable de compléter les alt des images et éviter la présentation en tableau ! :transpi:

- Pour une prochaine version, il pourrait être INtéressant de rajouter des infos sur les fichiers et répertoires : date de modif, type de fichier ....

Posté(e)
  • Auteur

#1 Si quelqu'un me fournit un ftp avec la fonction rmdir je le fait (non activé chez free)

#2 Moi j'aime bien comme ca :)

#3 Je préfère rester simple comme ca, mais tu peux le rajouter dans le template

#4 Fait / Je suis à la recherche de designers, intégrateurs HTML pour faire de nouveaux templates donc si ca t'interresse :)

#5 J'ai rajouté la date (Clide 1.4.2), le type c'est pas vraiment intéressant d'après moi (a configurer dans le config.php)

http://clide.is.free.fr/index.php/

Modifié par Absynthe

Posté(e)

Ben de toute façon qu'importe les futurs évolutions que tu y apporteras, je bidouillerais très certainement le bouzin pour mieux coller à mes besoins, envies ...

Faudra juste trouver du temps ! :francais:

Et par exemple la création de style sera l'un des points que j'améliorerais :francais:

Par contre j'aurais quelques questions :

- J'ai pu me rendre compte que lorsque l'on installe Clide sur un ftp, il ne liste pas les répertoires déjà en place. Mais comment le faire sans avoir à recréer des dossiers dans l'admin ?

Je demande ça car devoir recréer entièrement une arborescence déjà existante c'est lourd ...

- Sinon un truc bien sympa : le contenu des fichiers php (par exemple) est affiché mais comment faire en sorte que certains fichiers php soient INterprétés et d'autres affichés comme actuellement ? :-D

Ou autrement dit : comment rendre des fichiers INvisibles (pas affichés dans le listing) mais INterprétables ?

Posté(e)
  • Auteur

#1 Pour des raisons pratiques et sécuritaires Clide commence à lister à partir d'un dossier situé a hauteur de l'index (root par défaut), il est possible de laisser la variable root vide pour commencé a lister dès la racine du script mais niveau sécurité c'est pas top.

#2 C'est un script de listage pas d'execution. Si tu veux executer un script dans Clide, met le à la racine, inclus 'system/fonctions.php' et appelle la fonction template() (prendre exemple sur le player).

Modifié par Absynthe

Posté(e)

Joli boulot :francais:

Mais quand même quelques petites remarques :cap:

- C'est dommage le <table>, surtout que vu la mise en page que tu as choisi ça aurait pas posé de pb avec du full css :p

Mis à part ce détail, le code généré est très bien je trouve :francais:

- Pourquoi php ? :francais:

Et si moi je fonctionne avec perl par exemple ? Je vais pas installer php juste pour un design....

Je comprends qu'avec des trucs comme la coloration syntaxique, tu es obligé d'avoir du code coté serveur mais ces gadgets valent ils le coup ? moi perso je m'en fous, c'est surtout ton design qui m'aurait interessé :craint:

Posté(e)
  • Auteur

Merci :)

Sinon, Pourquoi PHP ?

parce que je ne connais que ca comme langage de programmation web :craint:

Et pour en revenir au tableau, oui je sais c'est moche, mais j'avais pas envie de me faire chier avec des div et du css, j'avais déjà assez du php pour m'occuper.

et comme je les dit plus haut, si des ames charitables se sentent d'attaques pour faire de nouvelles templates y'a pas de problèmes :cap:

Modifié par Absynthe

Posté(e)

Ce que je voulais dire c'est que ça aurait été mieux si y'avais pas de pré-requis.

Ni php, ni perl, ni rien :craint:

Un cgi écrit en C par exemple :cap:

Posté(e)
  • Auteur

A la base c'était fait pour les pages perso de chez free.

En plus le CGI je sais à peine ce que c'est :cap:

Posté(e)

CGI ?

Ben à partir du moment où un langage sais prendre des arguments en entrée et sais écrire sur la sortie standard tu peux dialoguer avec apache :craint:

En gros ton programme C est invoqué par apache avec des paramètre en entrée (GET, POST, etc...) et toi tu écris ton code html sur la sortie standard (comme avec echo en php).

Apache recupère ça et envoie la purée au client :-D

Posté(e)

Petits retours complémentaires :

- Attention le title du lien Powered by Clide n'est pas à jour. Il indique "1.3" alors qu'évidemment ce n'est pas la version en cours ...

D'ailleurs il pourrait être INtéressant que cela soit dynamqiue : ca t'éviterai de changer ce title (ou de l'oublier :yes:) à chaque MAJ ...

- Pourquoi ne pas ajouter dans la partie admin un lien vers la partie publique ? Ca permettrait rapidement de voir des changements effectués ...

Il pourrait être placé sur la ligne du fil d'ariane mais avant le "Root".

- J'ai remarqué que si un répertooire est vide, rien n'est INdiqué. Mon idée serait d'insérer un texte dans le genre de "Répertoire vide".

Et tout petits détails :

- Perso j'ajouterais un title sur l'image du header pour indiquer "root" ou "accueil" car on voit qu'il y a un lien mais tout le monde n'a pas le réflexe de penser à ca (accueil) ....

- Sinon y a toujours pas de alt ? :cartonrouge: pourtant tu disais l'avoir fait je crois ....

Je me metterais au code bientôt :craint:

Posté(e)

Et bien c'est tout simple : moi j'en veux pas mais il en FAUT sur toutes les images ! :yes:

c'est une contenu alternatif pour décrire en 1 ou 2 mots ce qu'est l'image ....

- edit -

Et cela doit être explicite donc une descritpion claire.

Tu devrais remplacer DIR par répertoire par exemple.

Mais je viens de me rendre compte qu'il en manque juste sur le header :p

- edit 2 -

Dans l'admin : "supression" => suppression

:transpi:

Modifié par Quarky

Posté(e)

Pas mal ton truc... j'ai pas vraiment regardé le code mais ca claque en tout cas ;):yes:

Par contre, je suis d'accord avec Quarky (comment ne pas l'être, on a eu les mêmes cours :mdr: ) à propos des attributs alt sur les images: question accessibilité c'est préférable et à rajouter ca va te prendre 10s

sinon, si j'ai le temps j'essaye de te refaire le design en XHTML/CSS en virant le <table>!

P.S.: à bientot en 2° année Quarky, vu qu'on a tous été admis :|

Posté(e)

Et voilà comme promis j'ai fait le css valide ! (Grillé windu : et dire que tu voulais me piquer mon boulot :keskidit:)

Bon y a plus de modif que prévu puisque j'ai été au delà du css (:craint:) et notamment pour le source. Mais de toute façon j'ai vu d'autres trucs dans le code pour lesquels je proposerais certainement des modifications.

Pour résumer mon boulot :

- Nettoyage du code source

- Ajout du bouton de validation du CSS : retrouvé grâce à

- Refonte du css :
  • pour ne plus utiliser de table;

  • pour le rendre valide;

  • pour le simplifier;

Au final ca marche (évidemment) ! Et d'après mes tests, ca roule sur Firefox (1.0.7) et sur IE 6. A voir pour le reste ...

CSS : Pour récupérer mon template allez ici !

Source : à la ligne 134 du fichier scan.php, changer :

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "<div>";
	$html_files	.= "<div class=\"right\">";
	$html_files .= "<div class=\"size\">".$file_array[$i]['size']."</div>";
	if ($set_modif_date == 1)
		$html_files .= "<div class=\"date\">".$file_array[$i]['date']."</div>";
	$html_files .= "</div>";
	$html_files .= "<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />  ";
	$html_files .= "<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a></div>";
	$html_files .= "</div>\n";
	$line++;
}
}

en

// Génération du HTML
if ($file_bool)
{
for ($i = 0; $i != $file_count; $i++)
{
	$html_files .= "\n			<div>\n";
	$html_files	.= "				<div class=\"right\">\n";
	$html_files .= "					<div class=\"size\">".$file_array[$i]['size']."</div>\n";
	if ($set_modif_date == 1)
		$html_files .= "					<div class=\"date\">".$file_array[$i]['date']."</div>\n";
	$html_files .= "				</div>\n";
	$html_files .= "				<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n";
	$html_files .= "					<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n";
	$html_files .= "				</div>\n";
	$html_files .= "			</div>\n";
	$line++;
}
}

Infos CSS

J'en profite pour spécifier quelques "trucs" utilisés ici pour le css :

  • class : si une fois utilisé => id
  • « background-color : inherit; » => déjà dit plus haut ...
  • Simplification des codes couleurs : #FFFFFF en #FFF
  • Simplification des margin et padding en une ligne => Exemple :
    margin-top : 10px;
    margin-bottom : 10px;
    

    en

    margin : 10px 0 10px 0;
    


Prochainement :

- Refonte de la partie admin

- Création d'un autre template

- Petites corrections du code

- Ajout de fonctionnalités
:craint:

PS : faudrait pas prévoir un truc pour gérer les auteurs de template non ?

En fait sur le mien, j'ai fait mention de moi-même en commentaire dans le html mais pourquoi ne pas afficher le nom dans la page (en clair donc) :tropfort:

Le problème étant que le pied de page est produit dans le config.php et non dans les template ...

- edit -

Modification du lien : derniers changements effectués !

Modifié par Quarky

Posté(e)
  • Auteur

Merci pour ton boulot.

Ton template remplacera l'ancien dans la prochaine version :transpi:

Sinon :

- dans le php des '\t' feraient plus propre que des tabulations en dur

- il est vrai que je n'ai pas pris en compte le copyright des créateur de template :(

Modifié par Absynthe

Posté(e)

Oki cool :transpi:

Et sinon pour les auteurs de template, tu comptes faire comment ? Parce que je penses que c'est légitime de les mentionner (dans le code ou la page) ....

Posté(e)

Oki cool :transpi:

Et sinon pour les auteurs de template, tu comptes faire comment ? Parce que je penses que c'est légitime de les mentionner (dans le code ou la page) ....

Ben alors mon ptit breton, on veut se faire mousser? :mdr2:

Nan, t'as raison... faut se faire repérer en mettant son nom dans les sources :transpi:

Posté(e)
  • Auteur

A mon avis il est normal que tu mentionnes que c'est toi l'auteur donc le coller en dur (visible, pas de commentaire) dans le HTML ne me choque pas.

Par contre je préfère rester dans la sobriété pour le template de base si ca te dérange pas.

Posté(e)

No problemo pour le style de base en espérant que tu conserves mon petit commentaire :transpi:

Par contre là j'essayais d'afficher "Répertoire vide" pour le cas où il n'y a pas de fichiers mais c'est pas facile :transpi: ...

Posté(e)
  • Auteur

Pas de problème pour le commentaire

Par contre là j'essayais d'afficher "Répertoire vide" pour le cas où il n'y a pas de fichiers mais c'est pas facile pleure.gif ...

J'en sais quelque chose xD

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.