dimanche 14 août 2005

Kde 3.4 vs Windows XP

Il existe de nombreux environnements graphiques sous Linux. Kde est le plus répandu actuellement, il détient près de 65% du marché. La majorité des distributions Linux ont adopté ce bureau. Sa simplicité, sa communauté très active, les nombreux langages supportés ainsi que la panoplie d'applications très bien intégrées ont contribués à son succès Nous allons comparer ce bureau à celui disponible sous Windows. La version de kde utilisée dans cet article est la 3.4 et celle de Windows est XP. De plus, nous mentionnerons seulement les fonctionnalités incluses du système par défaut. Par exemple, les bureaux virtuels ne sont pas inclus dans XP. Par contre via un programme tiers, il est possible d'en avoir. Les images concernant Linux seront toujours au dessus ou à gauche de celles de Windows

Bureau

Poste de travail

cette icône permet d'avoir accès au lecteur disponible sur l'ordinateur (disque dur, cd-rom, DVD...)




Les icônes à gauche sur l'image de Kde permettent d'avoir accès à certaines fonctionnalités tout comme celles disponibles sous Windows. De haut en bas: Amarok, il affiche notre collection musicale. Nos signets "bookmark, l'historique de notre navigation internet, notre dossier personnel, le voisinage réseau, l'arborescence du disque dur et finalement les services de kde (les applications disponibles, panneau de configuration...

Tableau de bord (barre des tâches)

Le tableau de bord (kde) et la barre des tâches (win) sont synonymes. Il faut tout de même noter que sous Linux, le tableau de bord inclut : la barre des tâches, la zone de notification, l'horloge, le bouton du menu principal... alors que sous Windows c'est la barre des tâches qui possède ces éléments-là. Globalement, seul le nom est changé, car comme vous allez le remarquer il existe de nombreuses ressemblances à ce niveau entre chaque environnement graphique.




Dans la partie de gauche, il y a le menu principal, ensuite on retrouve la barre de lancement rapide, suivie des fenêtres des applications en cours d'exécution. La zone de notification (tray) est située vers la droite et finalement l'heure.

La barre d'icônes

Cette barre permet d'ajouter des applications, habituellement on y ajoute les applications qu'on utilise le plus souvent. Normalement, cette zone est située à droite du bouton du menu.

La zone de notification

Cette zone permet de configurer certains items ou d'accéder à des programmes. Sous Linux, il est possible d'y lire la température de son CPU, de lire des flux RSS...

Menu

 



Le bouton du menu est situé à gauche dans le bas de l'écran. Il permet d'avoir accès aux applications installées sur la machine. Un menu contextuel apparaît si vous faites un clic droit de la souris sur ce menu (comme sous Windows). Le menu de Kde est organisé en catégories. En allant dans le menu Internet, vous avez accès à un navigateur web, messagerie électronique, messagerie instantanée, un lecteur de newsgroup... La recherche de fichier ainsi qu'un exécuteur de commande sont inclus par défaut dans le menu.

Menu contextuel




Le menu contextuel (clic droit sur le bureau) permet d'accéder aux fonctionnalités liées au bureau. Il permet d'y accéder sans passer par le panneau de configuration. Ce menu vous permettra d'aligner vos icônes, de rafraichir votre bureau. D'autres tâches plus courantes ont aussi été intégrées à ce menu: créer un fichier, répertoire, exécuter une commande... La commande configurer le bureau est similaire à celle qu'on retrouve sous Windows (fond d'écran, économiseur d'écran...).

Boîte de dialogue





Vous pouvez noter dans la boîte de dialogue, que vous pouvez sélectionner l'encodage pour l'ouverture d'un fichier. Kde supporte un plus grand nombre d'encodages que son confrère.

Bureau virtuel






Les bureaux virtuels permettent d'étaler le nombre de fenêtres sur chaque bureau. Les chiffres 1 et 2 sur l'image présentée dans la section tableau de bord permettent d'accéder à des bureaux virtuels. Au lieu d'avoir 6 fenêtres ouvertes sur un bureau, on pourrait avoir 2 bureaux virtuels avec 3 fenêtres chacun. Pour basculer d'un bureau à l'autre, il suffit d'appuyer sur ctrl-fx. fx étant F1, F2...

Centre de configuration






Un tel centre permet de configurer les éléments de l'environnement graphique. Sous Kde, l'interface a peu changé contrairement à Windows. En sélectionnant un item, on se retrouve dans la section qui lui est associée ensuite en cliquant de nouveau sur un item, le panneau de droite lui est assigné et on peut alors changer les propriétés qu'on désire. L'approche est similaire sous Windows, mais nécessite d'ouvrir plusieurs fenêtres au risque de se perdre. Il est par contre possible de revenir à l'ancienne présentation.

Configurer le bureau




Cet endroit permet de sélectionner un fond d'écran, un économiseur d'écran, de configurer la fréquence du moniteur...

Explorateur de fichier

Les outils sont similaires. Il est possible d'utiliser la souris pour faire du glisser/déposer ou d'utiliser le clavier.



Recherche de fichier









Si l'outil locate a été installé, il sera possible d'utiliser l'index de fichier. La recherche sera ainsi très rapide sous Kde. Une étape est ajoutée sous Windows afin de pouvoir effectuer une recherche. Autant sous Windows que sous Kde, plusieurs critères peuvent être donnés pour effectuer une recherche. Prenez note qu'il y a un logiciel nommé Kat, il est similaire à Spotlight et à la barre de recherche Google. Cet outil s'appelle Kat et extrait le texte, métadonnée... des fichiers. Le moteur de recherche de SQLite est employé. Microsoft incorporera un tel outil dans une mise à jour de son prochain système.

Gérer les tâches

Lorsqu'un programme cause problème, il est possible d'arrêter son exécution.













Similarité des programmes

Par défaut, Windows n'inclut que peu de logiciels tout le contraire de Kde. Quelques images de






Alors que logiciel de messagerie instantanée sous Windows Xp ne gère que MSN messenger, celui qu'on retrouve sous Kde gère: aim,icq, irc, jabber, MSN messenger, Yahoo messenger... le nombre d'application est ainsi réduit.




Les deux navigateurs web permettent d'aller sur le Web. Par contre konqueror a quelques avantages tel qu'un moteur de recherche intégré ainsi que le support d'onglet. Cette dernière fonctionnalité permet d'ouvrir plusieurs pages Web dans une seule fenêtre. Certains logiciels sous Windows permettent de combler les lacunes de ms explorer en y ajoutant une couche au dessus. Il est aussi possible d'utiliser Firefox afin d'utiliser ces fonctionnalités.






Prenez note qu'il est possible d'utiliser Kontact dans Kde. Ce derniers permet d'avoir un calendrier, un lecteur de newgroups, rss, liste des tâches... ainsi que kmail.





Personnalisation de l'interface

Si vous êtes très habitué aux raccourcis clavier de Windows, Mac, Unix..., sachez que kde peut employer les raccourcis que vous êtes habitué d'utiliser. Il est même possible de définir des actions selon des gestes de souris: par exemple, un mouvement de la droite vers la gauche dans un navigateur web pourrait signifier d'aller à la page précédente.

Sous Kde, il est possible de personnaliser l'interface graphique à plusieurs niveaux. Sous Windows c'est très limité si on n’utilise pas un outil externe tel que WindowBlinds ou WinCustomize.

Thème





On peut déjà remarquer que Kde gère plus de fonctionnalités que Windows. Kde permet de changer les icônes du système et même le style des composants graphique : barre de défilement, bouton radio.

Couleur



Fond d'écran





Puisqu'il est possible d'avoir plus d'un bureau sous Kde, nous pouvons aussi avoir un fond d'écran différent pour chacun d'eux. Kde. Kde va encore plus loin, il permet d'obtenir des fonds d'écran directement à partir du site web: kde-look. Il suffit de cliquer sur: Autres fonds d'écran.






Plusieurs fonds d'écran sont disponibles, un aperçu ainsi qu'une description de l'image sont fournis.

Écran de veille





Kde offre encore une fois plus que son confrère.

Décoration des fenêtres





Cette fonctionnalité permet de choisir le type de décoration de fenêtre que vous désirez. Vous aimez le carré et le X des fenêtres de Windows? Aucun problème vous pouvez choisir cette décoration.

Écran de démarrage



Quelques écrans de démarrage sont disponibles

Icône





Cette section permet de changer toutes les icônes. Il est possible d'avoir les icônes de Mac OS X, Windows Xp... Il est aussi possible d'assigner un icône pour une application donnée telle qu'il est possible de le faire sous Windows.

Style





Cette section permet de choisir un style pour les composants visuels. Si vous avez apprécié le style CDE de solaris, win9x... vous pouvez toujours y revenir.
Nous avons pu voir les mécanismes du bureau kde 3.4. Ce bureau a plusieurs ressemblances avec celui de Windows, mais va encore plus loin au niveau de sa configuration. Un utilisateur

Windows ne devrait pas avoir trop de difficultés à s'adapter à un tel bureau sous Linux. Les principes d'utilisations sont similaires. L'affichage est souvent très ressemblant. Ceux désirant configurer leurs Kde peuvent visiter: kde-apps. Ce site permet d'avoir accès à des applications développées pour Kde, elles sont catégorisées. kde-look permet de configurer l'aspect visuel de kde: bouton, fond d'écran, pointeur de souris... kde-files permet d'avoir des fichiers de configuration, modèle de fichiers... pour différentes applications Kde.

mercredi 3 août 2005

Designing the User Interface




Ce livre aborde la création d'interface graphique de façon très complète. Plusieurs facteurs doivent être pris en compte afin de créer une interface graphique: public visé, expérience, domaine relié, matériel utilisé...

Beaucoup de livre existe sur la programmation, mais sur la conception d'interface graphique, il en existe beaucoup moins, alors que cette partie devient de plus en plus importante.

Un historique ainsi que des concepts plus novateurs encore très peu répandus y sont discutés. L'auteur aborde l'aspect physiologique de l'être l'humain et l'impact engendré sur la création d'interface. Plusieurs exemples sur de bonne interface et de mauvaise interface sont présenté.

On y traite de divers concepts afin de diminuer les temps d'apprentissage de l'usager. Beaucoup d'exemples concrets y sont traités.

En bref, les concepts clé y sont traités: uan, klm, sémaphore, gestion, le matériel, la documentation... C'est un livre assez avancé qui s'adresse aux gens désirant de mieux comprendre cette facette du développement logiciel.

mercredi 6 juillet 2005

Interface utilisateur


INTERFACE UTILISATEUR

Design d'interface usager

Vous avez sûrement remarqué que certains logiciels étaient plus faciles d'utilisation que d'autres. Le logiciel a tellement bien été conçu que tout semble nous paraître très logique même si c'est la première fois qu'on utilise. Un tel facteur peut contribuer à augmenter ou à diminuer l'adoption d'un logiciel par des usagers. Lorsque interface est bien réussi, elle devient transparente pour l'usager et ce dernier peut se concentrer totalement sur le travail qu'il doit effectuer.

Public visé

Lors de la création d'une interface, faut tenir compte du public qu'on vise avec le logiciel créé. On doit regarder à qui s'adresse ce logiciel. Imaginons qu'on doive créer un logiciel de création dessins. On a deux groupes d'individus.
  • Un groupe d'enfants de 10ans
  • Un groupe de graphistes
L'interface du logiciel pour le premier groupe devra être très simple et intuitive. Pour le second groupe, on sait qu'ils ont déjà une bonne connaissance du dessin et qu'il maîtrise leur domaine.

Facteur humain à mesurer

Ces facteurs doivent être considérés lors de la création d'une interface usagée. Il n'est pas nécessaire d'exceller dans chaque domaine. Il est possible de faire des compromis : on fait les tâches demandées plus lentement, mais on fait beaucoup moins d'erreurs.

Temps d'apprentissage

C'est le temps nécessaire à l'usager à apprendre à utiliser les commandes pour exécuter une tâche donnée.

Vitesse d'exécution des tâches

C'est le temps pris par l'usager à remplir une tâche donnée.

Erreur

C'est le nombre, la sorte d'erreur et le temps mis par l'usager à corriger son erreur.

Mémorisation

C'est la capacité de l'usager à se rappeler comment utiliser le logiciel, faire les tâches spécifiées lorsqu'il utilise peu ou presque pas le logiciel.

Satisfaction

C'est le niveau de satisfaction de l'usager par rapport au logiciel.

Diversité humaine

De nombreux facteurs entrent en ligne de compte pour créer une interface : habilité physique, habilité cognitive, différence culturelle et culturelle.

Habilité physique

L'âge des personnes, son sexe, ses dimensions, handicap ... influencent la capacité des gens à utiliser un logiciel. Tous ces critères font en sorte que la création d'un usager moyen soit complexe. Il y a aussi l'environnement où le logiciel sera utilisé : intensité de la lumière, clavier utilisé, hauteur de la chaise...

Habilité cognitive

La capacité cognitive est la base de la résolution des problèmes, tant sur le plan de la prévention que sur celui de la réaction et de l'élaboration de stratégies à court, moyen et long termes. Quelques facteurs tels que le temps de perception, mémoire à court et moyen, terme, apprentissage, prise de décision... font partie des catégories des processus cognitifs humains. La drogue, fatigue ... viennent affecter ces éléments.

Différence culturelle et personnelle

La perception n'est pas identique pour tout le monde. On a qu'à penser à comment les hommes et les femmes voient le sexe. ;) Il y aussi la diversité culturelle. Pour une culture donnée, les couleurs n'ont pas le même sens, de plus le format de la date et de l'heure, les mesures... ne sont pas les mêmes.

Lorsqu'on fait une interface, il faut regarder lequel de ces points s'applique et ensuite on doit les gérer de façon très efficace. Imaginer un peu la création d'une interface pour un logiciel qui serait utilisé à travers le monde.

Règle de design d'interface


Consistance

La consistance est importante pour ne pas mélanger un usager. La consistance devrait être présente dans les actions que l'usager doit faire, les menus (nom), les couleurs, police de caractère. Par exemple, si vous employez une police de caractère de 12 de type Arial dans un formulaire, utiliser là dans vos autres formulaires. Il sera certainement plus aisé d'effectuer une lecture par la suite.

Raccourci

Il peut être intéressant pour un néophyte d'utiliser la souris, mais beaucoup d'utilisateurs expérimentés préfèrent utiliser le clavier pour exécuter leur tâche plus rapidement. Ainsi, les utilisateurs expérimentés ne se sentent pas lésés. La durée de vie de l'interface pourra ainsi être augmentée, après quelque temps l'utilisateur débutant pourra commencer à utiliser ces raccourcis et profitez de ses avantages. Les raccourcis sont très utiles dans les menus, ils permettent d'exécuter des tâches plus rapidement. Une autre possibilité intéressante est les macros. Les macros permettent de faire plusieurs actions en appuyant sur une combinaison de touche. On peut imaginer pour un traitement de texte, une macro qui permettrait d'aligner le texte à gauche, de mettre le texte à double interligne et de mettre le texte en noir en appuyant par exemple surt ctrl 8.

Feed-back

À chaque action de l'usager, il devrait y avoir un message d'information pour l'usager concernant le système. Le message retourné peut être minime pour des actions fréquentes, mais devrait être plus significatif pour celles qui sont très importantes ou inutilisées. Un bon exemple est la suppression d'un fichier dans Windows, lorsque efface un fichier à l'aide du clavier, un message nous demande confirmation. L'usager s'est ainsi qu'il supprimera ce fichier s'il accepte. Un autre exemple est la gravure de CD, lorsqu'on grave un CD, il y a toujours un message du temps qu'il reste avant que la gravure se termine.

Gestion d'erreur

L'interface devrait faire en sorte que le risque d'erreur soit le plus bas possible. Ne pas permettre d'entrer de caractère alphabétique dans un champ numérique. Lorsqu'il y a une ou des erreurs, l'usager ne devrait pas avoir besoin de rentrer à nouveau toutes les informations, uniquement celles fautives devraient être entrées à nouveau. À ce niveau, plusieurs sites web, mettre une «*» à côté des champs fautifs lors d'une saisie de donnée. Les messages devraient être le plus significatifs possible. «Erreur -201» ne signifie pas grand chose pour un usager.

Retour en arrière

Il devrait être possible de revenir en arrière lorsqu'une action est exécutée. Les usagers sont moins inquiets ainsi. Ils sont plus enclins à essayer davantage d'options.

Réduction de l'utilisation de la mémoire à court terme

La mémoire à court terme est très limitée. Tout devrait être mis en oeuvre pour utiliser le moins possible l'utilisation de cette mémoire. Des cours sur la façon d'utiliser le logiciel sont un bon moyen d'utiliser la mémoire à long terme au lieu du court terme.

Composant

Il y a quelques règles concernant les données pour les composants. Il n'est pas rare de voir autant d'options dans un logiciel. Il arrive trop souvent qu'il y en a trop.


Il faut de plus que ces options et un lien entre elles. Il est beaucoup plus rapide d'effectuer une recherche lorsque les données sont groupées. Il était facile pour cet exemple de regrouper les éléments. Il devrait y avoir un lien solide entre les éléments.


Il est peut-être long et complexe à trouver un lien entre les diverses options qu'on veut inclure, mais en les regroupement, l'usager trouve plus rapidement ce qu'il désire et sera moins confu.
ComposantMax d'élément à afficher
Bouton radio6
Case à cocher6
Liste de sélection12
Liste de visualisationPlus de 12

Séquence de présensation

Il est possible de présenter les données de diverses façons: chronologique, ordre numérique, propriétés, les plus utilisées, de façon aléatoire... L'ordre alphabétique est l'une des façons les plus performantes. Ci-dessus, on a distingué les données par des catégories: transports, chambre. C'est déjà beaucoup mieux que la première façon. Il aurait été encore plus efficace si on aurait mis les données en ordre alphabétiques dans chaque catégorie. Le temps de recherche aurait diminué.

jeudi 16 juin 2005

Guide utilisateur


GUIDE UTILISATEUR

Imaginez si vous auriez à apprendre linux ou oracle sans guide à l'usager. Vous sauriez sûrement décourager et vous auriez bien raison. Pour diverse raisons, nous sommes amenés à apprendre un nouveau logiciel. Souvent, il n'y a aucune documentation disponible pour nous aider à comprendre le logiciel. Il est alors beaucoup plus long à maîtriser un tel outil lors de cette situation. Lorsque vous développez un logiciel qui sera utilisé par plusieurs personnes, il est important de prévoir un document qui aidera l'usager à comprendre votre programme.

L'exemple qui vous sera montré est un logiciel que moi et mes coéquipiers avons développé pour la librairie Aby Yala (www.abyayala.com). C'était notre projet de fin d'études.

Section pouvant être incluse dans un guide à l'usager

Table des matières

La table des matières doit être incluse dans chaque division et sous division de votre documentation

Nouveauté du logiciel

Indiquez les nouveautés de la version du logiciel s'il existe plusieurs versions

Configuration requise

Indiquez la configuration minimale recommandée pour le logiciel

Manipulation du programme

Indiquez les étapes pour l'installation, l'exécution et la désinstallation de votre programme.
S'il existe plusieurs composants (librairie, dll, base de donnée....) externes nécessaires au bon fonctionnement de votre application,inscrivez les étapes précédentes pour les composants auxquels s'applique cette démarche

Description du programme

Inscrivez une description générale de votre application.

Outils de navigation et menu

Détaillez les outils de navigations et les menus s'il y a lieu

Fonctionnement du programme

Indiquez les étapes nécessaires pour effectuer des traitements. Donnez de l'information sur les options du programme. Les images facilitent l'apprentissage d'un usager.

Force du système

Identifiez les forces de votre programme, les petits plus de votre application

Glossaire

Prévoyez un glossaire si votre documentation contient des termes techniques qu'un usager ne pourrait comprendre.

Document word du projet disponible ici.

samedi 21 mai 2005

Concevoir une application en PHP


Concevoir une application en PHP

Présentation

Lors de la réalisation d'une application le choix du langage de programmation est conditionné par l'utilisation qui sera faite du logiciel. PHP est donc utile si vos utilisateurs sont nombreux et réparti géographiquement, car il ne nécessite pas l'installation d'un logiciel client lourd, un simple navigateur internet suffit.

Dès lors qu'une application contient des données importantes, il est utile de pouvoir contrôler les accès à celles-ci, pour cela une identification de chaque utilisateur est nécessaire. Nous allons voir dans cet article comment structurer son code afin de réaliser une application de gestion complexe.

Création de la structure

Dans un premier temps, il est nécessaire de déterminer la structure de l'application, c'est-à-dire les différents utilisateurs ainsi que les fonctionnalités accessibles à chacun.
Par exemple, pour un logiciel de gestion de notes dans un établissement scolaire, on aura les types d'utilisateurs suivants :

Type utilisateur       Fonctionnalités
Administrateur
  • Ajout/modification/suppression d'utilisateurs
  • Ajout/modification/suppression de classes
Direction
  • Consultation des notes des élèves
Vie scolaire
  • Gestion des absences
  • Modification des classes des élèves
  • Modification des classes des enseignants
Enseignants
  • Saisie des notes
  • Edition de synthèses
  • Editions de bulletins de notes
Elèves
  • Consultation des notes personnelles
Pour faciliter la maintenance de l'application, il peut-être utile d'enregistrer tout cela dans une base de données, on aura donc la base de données suivante :

Nom de la table      Champs de la table
typeUtilisateur
  • num (identifiant)
  • libellé
utilisateur
  • login
  • mot de passe
  • nom
  • prénom
  • type (qui reprend une valeur de num de la table typeUtilisateur)
Chaque fonctionnalité correspond à un élément du menu de l'application, on peut donc les enregistrer dans une base de données :

Nom de la table       Champs de la table
fonctionnalités
  • type (qui reprend une valeur de num de la table typeUtilisateur)
  • menu (qui contient l'élément du menu)
  • action (qui indique l'action associée à la fonctionnalité)
  • libellé (libellé qui apparaît dans le menu)
  • ordre (ordre d'affichage dans le menu)
  • actif (permet de désactiver un élément du menu sans le supprimer)


Exemple de table fonctionnalités complétées :
type menu action libellé ordre actif
'administrateur' 'accueil' 'gestionUtilisateurs' 'Gestion des utilisateurs' 1 vrai
'administrateur' 'accueil' 'gestionClasses' 'Gestion des classes' 2 vrai
'direction' 'accueil' 'consultationNotes' 'ConsultationNotes' 1 vrai
'vie scolaire' 'accueil' 'gestionAbsences' 'Gestion des absences' 1 vrai
'vie scolaire' 'accueil' 'gestionEleves' 'Gestion des élèves' 2 vrai
'vie scolaire' 'accueil' 'gestionEnseignants' 'Gestion des enseignants' 3 vrai
'enseignant' 'accueil' 'saisieNotes' 'Saisie de notes' 1 vrai
'enseignant' 'accueil' 'editions' 'Editions' 2 vrai
'enseignant' 'editions' 'editionsSyntheses' 'Editions de synthèse' 1 vrai
'enseignant' 'editions' 'editionsBulletins' 'Editions de bulletins' 2 vrai

On remarque que cette structure permet de définir des menus et des sous-menus comme on le souhaite et donc de faciliter la maintenance de l'application, ajouter une fonctionnalité ne nécessite pas la relecture de tout le code pour refaire le menu, le menu sera modifié dynamiquement par l'ajout d'un élément dans la base.

Mise en place

Pour utiliser la structure créée, on utilise un fichier "index.php" qui doit définir le type de l'utilisateur et à partir de cela lui afficher le menu correspondant à l'aide d'une fonction menu :

function menu($menu){
        global $type;

        $query="select action,libelle from menu where menu='$menu' and type=$type and actif=1 and ordre>0  order by ordre";
        $result=mysql_query($query);
        $nbCaracteres=0;
        if(mysql_num_rows($result)>0){
                echo "<div id=\\"menu\\">\\n";
                echo "  <table border=0>\\n";
                echo "      <tr>\\n";
                while($row=mysql_fetch_row($result)){
                        echo "          <td>";
                        echo "<a href=\\"./.?action=$row[0]\\">stripslashes($row[1])</a>;
                        $nbCaracteres = $nbCaracteres + strlen($row[1]);
                        echo "       </td>\\n";
                }
                echo "      </tr>\\n";
                echo "  </table>\\n";
        }
}

un switch permet d'amener l'utilisateur sur l'élément souhaité selon la valeur de la variable $action.

Conclusion

Cette méthode permet d'améliorer la maintenabilité d'un logiciel écrit en PHP, il peut être utile de générer un outil de gestion des menus lorsque l'application devient très grosse avec de nombreux types d'utilisateurs différents.

Migration d’une application Spring Boot 2.2 vers Spring Boot 4.0 : retour d’expérience concret

 En 2019, nous avons développé une application métier basée sur : Java 8 Spring Boot 2.2.7 Gradle 6.6.1 Thymeleaf Boots...