Ubuntu- Copier du code source avec sa coloration syntaxique


Parfois on a besoin de rédiger un document (LibreOffice Writer) ou une page web (HTML) traitant de la programmation dans un langage donné (C, Python, PHP, Javascript, HTML...). Dans ce cas, il existe plusieurs méthodes pour récupérer puis afficher les codes sources en conservant leur coloration syntaxique telle qu'elle apparaît dans l'éditeur de texte utilisé.

00

1) Première méthode
La première méthode consiste à saisir le mot clef "coloration syntaxique en ligne" sous Google et d'utiliser un outil en ligne parmi les nombreux outils proposés. Ces outils ouvrent une fenêtre, à l'intérieure de laquelle on copie notre code en noir et blanc, et offrent la possibilité de copier, dans le presse-papiers, ce code avec la coloration syntaxique du langage de notre choix (on trouve par exemple les outils tohtml.com, pinetools.com, highlight.hohli.com,...).
Il est facile de trouver son bonheur parmi ces nombreux outils. L'inconvénient est que chacun d'eux, comme tout outil en ligne, peut à tout moment être supprimé par son auteur et donc devenir indisponible. Les couleurs particulières qu'on aura précédemment utilisé pourront alors ne plus être retrouvées (même dans un autre outil). De ce fait, le code en couleur déjà utilisé sera difficile à maintenir ou à compléter.

2) Seconde méthode
La seconde méthode consiste à utiliser un éditeur de code source qui offre la possibilité de copier directement le code source dans le presse-papiers en conservant sa coloration, avec les formats rtf ou html.
Sous Windows, le remarquable éditeur de texte Notepad++ offre cette fonctionnalité.
Sous Ubuntu, plusieurs solutions permettent de répondre à ce besoin.
• La première solution consiste à installer Notepad++. Cette solution présente cependant l'inconvénient de ne pas fonctionner sous Linux en mode natif mais seulement en mode émulation sous Wine.
• Une seconde solution consiste à utiliser l'éditeur de code Scite. Celui ci fonctionne en mode natif sous Linux mais il ne permet pas (à ce jour) d'effectuer des copies directement, dans le presse-papiers, en conservant la coloration syntaxique. Il permet seulement d'exporter le code (avec sa coloration) dans un fichier au format rtf ou HTML. Cette solution répond au besoin mais est relativement lourde à utiliser. En effet, il faut commencer par exporter le code dans un fichier au format rtf puis il faut ouvrir ce fichier dans LibreOffice Writer, copier le code dans le presse-papiers et enfin le coller dans notre document LibreOffice Writer ou dans notre page HTML.
• La troisième solution consiste à utiliser l'éditeur de texte avancé Kate. Celui-ci fonctionne en mode natif sous Linux et permet d'effectuer des copies de code directement, dans le presse-papiers, en conservant la coloration syntaxique. Il offre de plus la possibilité de définir ses propres thèmes de couleurs pour définir une coloration syntaxique personnalisée dans le langage de notre choix. Cette solution parfaite est détaillée ci-après.

1) Installer Kate

Gnome (Ubuntu) et KDE (kUbuntu) sont deux environnements de bureaux importants que l'on rencontre sous Linux. Kate est un éditeur de texte évolué du bureau KDE. Cependant, que l'on soit sous Gnome ou sous KDE, on peut indiférement utiliser les applications de ces deux environnements de bureau. La seule différence sera éventuellement un design et un temps de réaction légèrement différents. On peut donc installer Kate sous Ubuntu. Pour installer kate, on peut utiliser le terminal de commandes, en tapant les commandes habituelles:
sudo apt update
puis
sudo apt install kate
On peut également utiliser La logithèque Ubuntu permettant la gestion des installations et des mises à jour des paquets. (icône "Ubuntu Software" ou "Logiciel" selon le cas ). La page Logithèque, contenant cet icône, est accessible en cliquant l'icône en forme de 9 petits carrés, situé dans la barre de Dock sur le bureau.

01

2) Utiliser kate

On ouvre Kate, on crée un nouveau fichier ("Fichier > Nouveau") et on écrit notre code source, en langage C par exemple.
Ensuite, on clique le menu "Outils > Coloration syntaxique > Sources".
Dans la fenêtre qui s'ouvre on choisit le langage C par exemple.

02

Kate propose plusieurs thèmes de couleurs pour la coloration syntaxique et permet même de créer ses propres thèmes.
On choisit, pour la coloration syntaxique, le thème de couleur "impression" par exemple.
Pour cela, on clique le menu "Configuration > Thème de couleurs pour l'éditeur > Impression".

03

Pour copier le code source dans le presse-papiers avec sa coloration syntaxique, on sélectionne d'abord le code avec la souris.
Puis on clique le menu "Edition > Copier en HTML"

04

On peut alors récupérer le code coloré dans LibreOffice Writer à l'aide d'un simple "Edition > Coller".
On peut également récupérer le code HTML qui correspond au code coloré en faisant un "Edition > Coller" depuis un éditeur de code Kate ou Geany par exemple.

05

3) Créer un thème de couleur personnel

Pour créer un thème de couleur personnalisé, on se rend dans l'éditeur de thèmes de Kate.
Pour cela on clique le menu "Configuration > Configurer Kate".

06

Dans la fenêtre "Configurer Kate" qui s'ouvre, on choisit les options "Thèmes de couleurs", "Editeur de thèmes", "Thème Impression" (par exemple) puis "Copier".

07

Dans la boîte de dialogue qui s'ouvre, on donne un nom à notre thème personnel (le nom "montheme" par exemple) puis on clique le bouton OK.

08

Dans l'éditeur de thème, on choisit alors le thème "monthème" puis l'onglet "Style de texte pour la coloration syntaxique". On peut alors personnaliser, en la cliquant, chaque couleur associée à chaque type de données du code source. On peut également cocher la mise en caractères gras d'un type de donnée déterminé.

09

Remarque:
Si on veut pouvoir utiliser dans Kate la coloration syntaxique utilisée par l'éditeur de texte Geany par exemple, il suffit de faire une copie écran d'un code source dans Geany, de copier cette copie écran dans Gimp puis, à l'aide de l'outil pipette de Gimp, de déterminer les codes RVB des couleurs utilisées par Geany pour les différents types de données puis d'utiliser ces couleurs dans l'éditeur de thèmes de Kate.

10