[Résolu] poids des photos (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 31)
  • Auteur
    Messages
  • #515606
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : Version 3.4.2
    – Version de PHP/MySQL : pas trouvé dsl.
    – Thème utilisé : celine
    – Extensions en place : Akismet-All in One SEO Pack-Contact Form 7-DMSGuestbook-Gwolle Guestbook-Jetpack par WordPress.com-NextGEN Gallery-Page Columnist-Really Simple CAPTCHA-WP Mobile Detector.
    – Nom de l’hebergeur : easy-hebergement
    – Adresse du site : http://clicandzoomphoto.fr/

    Problème(s) rencontré(s) : site lent à cause des photos

    Bonjour

    Je voudrais savoir si il y a un poids par photo a ne pas dépasser ?

    Moi je met les photos sur mon blog 800 * 800 en jpeg et 500ko (je ne veux pas perdre en qualité)

    Es ce que sa va ?

    Car j’en ais 260 sur mon site 🙂 et je vais en mettre d’autre.

    Comment je peux optimiser tout cela ?

    Merci

    Bonne journée

    #858328
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Pour tes images en grande taille, c’est à toi d’apprécier et choisir le juste compromis entre la qualité et la compression, en sachant qu’une compression de 5 ou 10% supplémentaire n’est pas forcément visible à l’œil nu mais peut alléger considérablement le fichier produit. Tes images sont probablement déjà redimensionnées pour obtenir ta résolution de 800px, une légère compression ne se verra pas beaucoup plus.

    Sur ta page d’accueil, les miniatures ne semblent pas être des images de petite taille, la vitesse de chargement me fait penser à des images redimensionnées à la volée, ce qui n’est pas la solution optimale.

    #858329
    lorenzolamas
    Participant
    Maître WordPress
    3229 contributions

    C’est exact,

    ta page principale (homepage) fait 7,4 Mo, ce qui est ENORME!

    Tu dois absolument changer ça, en mettant des thumbnails (miniatures) en « taille réelle » et non redimensionnées à la volée comme c’est le cas maintenant.

    Idéalement il faudrait viser une homepage de 300 ko maximum pour que ça s’affiche rapidement sur tous les navigateurs et appareils smartphones, tablettes, ordis) et que ton site ne soit pas pénalisé par les moteurs de recherche.

    #858330
    Eighteen
    Participant
    Maître WordPress
    524 contributions
    lorenzolamas wrote:
    Tu dois absolument changer ça, en mettant des thumbnails (miniatures) en « taille réelle » et non redimensionnées à la volée comme c’est le cas maintenant.

    Je pense que c’est une incompréhension qui est à l’origine de cette état.

    Il faut comprendre qu’a chaque fois que l’on télécharge une image, wordpress créé 3 images de taille différente. Une petite, une moyenne et une grande. Normalement, la petite sert à afficher les miniatures tout en gardant une excellente qualité, si on clique sur cette petite image, alors le theme ou le plugin décide (normalement) d’ouvrir la grande image. Mais (si ma mémoire est bonne), ce thème ne va pas chercher les petites images pour afficher les miniatures, il utilise directement les grandes et les commpresse comme une vieille éponge pour qu’elles rentrent dans leur petit rectangle.
    C’est pour cela que 2 modifs avait été proposées sur ce fil.
    Mais visiblement, ni l’une ni l’autre ne semble avoir été utilisée. (à moins que ces modifs aient été faites directement sur le thème, sans utilisation de theme enfant, et que suite à une mise à jour tout se soit effacé)

    #858331
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions

    Bonjour

    Je viens de mettre les ligne proposé 🙂 merci

    Code: PHP

    <?php
    if (function_exists(‘has_post_thumbnail’) && has_post_thumbnail())
    the_post_thumbnail(array(185, 170));
    else
    echo main_image();
    ?>

    Cela a l’air mieux.

    Donné moi votre avis.

    Reste le carrousel les images se charge doucement.

    Merci

    #858332
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Cela n’a rien changé, c’est toujours la grande image redimensionnée qui est affichée.

    Peux tu afficher le code qui affiche ces miniatures (l’ensemble, pas uniquement les 4 lignes du thumbnail).

    #858333
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions

    Je met toutes les ligne du fichier index.php de mon thème Polaroids: Modèle pour la page d’accueil (index.php)


    <div id="homecol">




    <div class="polaroid">
    <div class="polaroidimage"><a href=" » title= » » rel= »bookmark »>




    </a></div>
    <div class="polaroidtitle"><a href=" » title= » » rel= »bookmark »></a></div>
    <div class="polaroiddate">

    merci

    #858334
    Guy
    Participant
    Maître WordPress
    14817 contributions

    D’accord, alors , il faut déterminer ce qui ne marche pas et par où l’on passe.

    Est ce que la taille 185x 170 a été définie dans le fichier functions.php par add_image_size ?

    Peux tu afficher ce qui est défini?

    sinon, tu peux ajouter dans fcntions.php avec les autres add_image_size, un:

    add_image_size( ‘accueil-polaroid’, 185, 170 );

    et dans ton index.php, appeler:

    the_post_thumbnail(‘accueil-polaroid’);

    #858335
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions

    Voila le fichier : Polaroids: Fonctions du thème (functions.php)

    <?php
    add_theme_support( 'post-thumbnails' );
    set_post_thumbnail_size( 185, 170, true );

    function main_image() {
    $files = get_children('post_parent='.get_the_ID().'&post_type=attachment
    &post_mime_type=image&order=desc');
    if($files) :
    $keys = array_reverse(array_keys($files));
    $j=0;
    $num = $keys[$j];
    $image=wp_get_attachment_image($num, 'large', true);
    $imagepieces = explode('"', $image);
    $imagepath = $imagepieces[1];
    $main=wp_get_attachment_url($num);
    $template=get_template_directory();
    $the_title=get_the_title();
    print "<img src='$main' alt='$the_title' class='frame' />« ;
    endif;
    }

    if ( function_exists(‘register_sidebar’) )
    register_sidebar(array(
    ‘name’ => ‘Footer Menu’,
    ‘before_widget’ =>  », // Removes <li>
    ‘after_widget’ => ‘</div>‘, // Removes </li>
    ‘before_title’ => ‘<h2>‘,
    ‘after_title’ => ‘</h2><div class="content">‘,
    ));


    function polaroids_comment( $comment, $args, $depth ) {
    $GLOBALS[‘comment’] = $comment;
    switch ( $comment->comment_type ) :
    case  » :
    ?>
    <li id= »li-comment-« >
    <div id="comment-« >
    <div class="comment-author vcard">

    <?php printf( __( '%s <span class="says">says:</span>‘, ‘polaroids’ ), sprintf( ‘<cite class="fn">%s</cite>‘, get_comment_author_link() ) ); ?>
    </div><!-- .comment-author .vcard -->
    comment_approved == ‘0’ ) : ?>
    <em class="comment-awaiting-moderation"></em>
    <br />


    <div class="comment-meta commentmetadata"><a href="comment_ID ) ); ?> »>
    </a>
    </div><!-- .comment-meta .commentmetadata -->

    <div class="comment-body"></div>

    <div class="reply">
    $depth, ‘max_depth’ => $args[‘max_depth’] ) ) ); ?>
    </div><!-- .reply -->
    </div><!-- #comment-## -->


    <li class="post pingback">
    <p> </p>
    <?php
    break;
    endswitch;
    }


    //Required by WordPress
    add_theme_support('automatic-feed-links');

    //COMMENTS SCRIPT
    if ( is_singular() && get_option( 'thread_comments' ) )
    wp_enqueue_script( 'comment-reply' );

    //CONTENT WIDTH
    if ( ! isset( $content_width ) ) $content_width = 1200;

    //MENU
    //Register the main menu
    if ( function_exists( 'register_nav_menu' ) ) {
    register_nav_menu( 'main-menu', __('Main menu','polaroids') );
    }



    //FILTERS

    //Output a custom title suffix based on phrase length
    //This is a feature that improves SEO by selecting a title that is as long
    //as possible, but that doesn't exceed the character limit displayed in search
    //engines. If no short enough suffix is found, the default is used (blog title)

    //Sort the array of suffixes by length
    function sort_suffixes($a,$b){
    return strlen($b)-strlen($a);
    }

    //Return the title_suffix
    function make_title($separator = "|"){
    $available_suffixes = get_option('polaroids_dynamic_suffixes',array(get_bloginfo('description')));
    $max_title_length = 65; //The maximum length of the title.

    usort($available_suffixes,'sort_suffixes');

    //Set the default suffix (the blog's name alone)
    $suffix = ' ' . get_bloginfo('description');

    //If it's not the frontpage and this feature is enabled, find an appropriate suffix in the array
    if(!is_front_page() && get_option('polaroids_use_dynamic_suffix',false)){
    foreach( $available_suffixes as $available_suffix ){
    //If the length of this suffix + title is short enough, make it the final suffix
    if ( strlen(utf8_decode((wp_title($separator,false,'right') . get_bloginfo('name') . ' | ' . $available_suffix))) ID,’description’,true) !=  »){
    $description = get_post_meta($post->ID,’description’,true);
    }
    elseif(is_single() && get_the_excerpt()!== »){
    $description = get_the_excerpt();
    }
    }
    echo $description;
    }

    //Use the « x days ago » date format
    if( get_option(‘polaroids_use_human_readable_dates’,false) ){
    function time_ago_date($date){
    return sprintf( _x(« Posted %s ago »,’The %s parameter is a date like « 5 days » or « 3 minutes »‘,’polaroids’), human_time_diff(get_the_time(‘U’), current_time(‘timestamp’)) );
    }
    add_filter(‘the_date’,’time_ago_date’);
    }

    //Remove inline CSS placed by WordPress
    function my_remove_recent_comments_style() {
    add_filter( ‘show_recent_comments_widget_style’, ‘__return_false’ );
    }
    add_action( ‘widgets_init’, ‘my_remove_recent_comments_style’ );

    //Add a label next to the media upload button, to make it easy to understand
    function custom_admin_js() {
    echo ‘

    var elem = document.getElementById(« content-add_media »);
    elem.innerHTML = « <img />‘.__(‘Click to add pictures or videos’,’polaroids’).' »;
    ‘;
    }
    add_action(‘admin_footer’, ‘custom_admin_js’);

    //Remove h1 tags and automatically show the kitchen sink
    function change_mce_options( $init ) {
    $init[‘theme_advanced_blockformats’] = ‘p,code,h2,h3,h4,h5,h6’;
    $init[‘theme_advanced_disable’] = ‘forecolor’;
    $init[‘wordpress_adv_hidden’] = false;
    return $init;
    }
    add_filter(‘tiny_mce_before_init’, ‘change_mce_options’);
    //ADMIN

    //Load the site’s CSS in the editor
    add_editor_style(‘style.css’);


    //Hide specific admin menus from non-admin users (if activated)
    if(!current_user_can(‘administrator’)){ //Only hide menus for non-admins
    function remove_menus () {
    global $menu; //The WordPress admin menu. Contains a multi-dimensional array
    $menus_to_hide = array(); //The array of menus to hide, really.

    if(get_option(‘polaroids_hide_posts_menu’,false)) array_push($menus_to_hide,__(‘Posts’));
    if(get_option(‘polaroids_hide_pages_menu’,false)) array_push($menus_to_hide,__(‘Pages’));
    if(get_option(‘polaroids_hide_comments_menu’,false)) array_push($menus_to_hide,__(‘Comments’));
    if(get_option(‘polaroids_hide_media_menu’,false)) array_push($menus_to_hide,__(‘Media’));
    if(get_option(‘polaroids_hide_links_menu’,false)) array_push($menus_to_hide,__(‘Links’));
    if(get_option(‘polaroids_hide_profile_menu’,false)) array_push($menus_to_hide,__(‘Profile’));
    if(get_option(‘polaroids_hide_tools_menu’,false)) array_push($menus_to_hide,__(‘Tools’));

    end ($menu);
    while (prev($menu)){
    $value = explode(‘ ‘,$menu[key($menu)][0]);
    if(in_array($value[0] != NULL?$value[0]: » » , $menus_to_hide)){unset($menu[key($menu)]);}
    }
    }
    add_action(‘admin_menu’, ‘remove_menus’);
    }

    //Disable the admin bar for logged in users
    if(get_option(‘polaroids_hide_admin_bar’,false)==true){
    add_filter( ‘show_admin_bar’, ‘__return_false’ );
    }

    //Hide the admin bar logo for logged in users
    function annointed_admin_bar_remove() {
    global $wp_admin_bar;

    /* Remove their stuff */
    $wp_admin_bar->remove_menu(‘wp-logo’);
    }
    if(get_option(‘polaroids_hide_admin_bar_logo’,false)==true){
    add_action(‘wp_before_admin_bar_render’, ‘annointed_admin_bar_remove’, 0);
    }

    //Add the plugin options page
    add_action(‘admin_menu’, ‘polaroids_barebones_menu’);
    function polaroids_barebones_menu() {
    add_theme_page(‘Theme options’, ‘Theme options’, ‘manage_options’, ‘polaroids’, ‘polaroids_theme_options’);
    }
    function polaroids_theme_options() {
    //Display the theme options
    include(‘theme-options.php’);
    }

    //Hide the description and URL fields for attachments, as well as « Insert into post »
    function hide_attachment_fields($form_fields, $post) {
    if(!current_user_can(‘administrator’)){
    if(get_option(‘polaroids_hide_attachment_caption’,false)==true){
    $form_fields[‘post_excerpt’][‘value’] =  »;
    $form_fields[‘post_excerpt’][‘input’] = ‘hidden’;
    }
    if(get_option(‘polaroids_hide_attachment_description’,false)==true){
    $form_fields[‘post_content’][‘value’] =  »;
    $form_fields[‘post_content’][‘input’] = ‘hidden’;
    }
    if(get_option(‘polaroids_hide_attachment_link’,false)==true){
    $form_fields[‘url’][‘value’] =  »;
    $form_fields[‘url’][‘input’] = ‘hidden’;
    }
    }
    return $form_fields;
    }
    add_filter(« attachment_fields_to_edit », « hide_attachment_fields », null, 2);

    //Hide file upload tabs
    function remove_media_library_tab($tabs) {
    if (!current_user_can(‘administrator’) && get_option(‘polaroids_hide_attachment_library’,false)==true && isset($_REQUEST[‘post_id’])) {
    unset($tabs[‘library’]);
    }
    return $tabs;
    }
    add_filter(‘media_upload_tabs’, ‘remove_media_library_tab’);

    //LOCALIZATION

    //Enable localization
    load_theme_textdomain(‘polaroids’,get_template_directory() . ‘/languages’);


    //UTILITY

    //URL validator
    function is_valid_url($URL) {
    $v = « /^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i »;
    return (bool)preg_match($v, $URL);
    }
    ?>

    Merci

    Peux tu me donner un max d’info car je suis un novis

    merci

    #858336
    Guy
    Participant
    Maître WordPress
    14817 contributions

    d’accord, en ce cas, on oublie le add_image_size et on va certainement pourvoir appeler

    the_post_thumbnail(‘thumbnail’); à la place de the_post_thumbnail(array(185, 170));

    Le thème a défini la taille par défaut (dans le fichier functions.php)

    add_theme_support( ‘post-thumbnails’ );
    set_post_thumbnail_size( 185, 170, true );

    Si on appelle the_post_thumbnail(‘thumbnail’); normalement, il devrait prendre cette dimension par défaut.

    PS: pour afficher du code, encadre le texte avec la balise code (le gros C noir au dessus), c’est beaucoup plus visible.

    #858337
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Je rajoute, que bien sur, il faut que l’article ait une image à la une, sinon… évidement, il ne l’affichera pas 🙂

    #858338
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions

    the_post_thumbnail(‘thumbnail’); je le change dans le fichier fonction.php

    oui ?

    et rien d’autre ?

    Merci

    #858339
    Guy
    Participant
    Maître WordPress
    14817 contributions

    non, pas dans functions.php, dans index.php, oui c’est tout, mais i faut que ton article ait une image à la une pour s’afficher bien sur sinon, il affiche la grande image.

    #858340
    lelaskar
    Membre
    Chevalier WordPress
    362 contributions
    Guy wrote:
    Je rajoute, que bien sur, il faut que l’article ait une image à la une, sinon… évidement, il ne l’affichera pas 🙂

    Bon déjà je n’avais pas d’images a la une :( manque de connaissance merci

    #858341
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Cela fonctionne, mais la qualité de la vignette générée me semble assez mauvaise.

15 sujets de 1 à 15 (sur un total de 31)
  • Vous devez être connecté pour répondre à ce sujet.