For two hours Friday morning, President Trump looked happy.

He was the honored guest at Paris’s Bastille Day military parade and had a prime seat that gave him a view straight down Avenue des Champs-Elysees and a first glimpse at the tanks, armored vehicles, gun trucks, carriers and troops in historical uniforms headed his way.

He eagerly leaned forward as he took in the spectacle, frequently jostling his wife or French President Emmanuel Macron when he saw something that particularly delighted him. Whenever troops were before him, Trump jumped to his feet and applauded with an enthusiasm that exceeded the response of those around him. For the first time in months, he looked relaxed and to be thoroughly enjoying himself.

The parade is an annual tradition that dates back to 1880, and this year it included a tribute to the centennial anniversary of the United States entering World War I. The parade featured U.S. and French flags, 200 American troops marching in uniforms from 1917 and eight U.S. Air Force planes.

“Mr. Trump’s presence at my side is a sign of an enduring friendship, and I want to thank him,” Macron said in brief remarks after the parade. “Nothing can ever separate us. . . . I want to thank America for the choice made 100 years ago.”

F-16 fighter jets pass over the annual Bastille Day parade in Paris on Friday. (Geoffroy Van Der Hasselt/AFP/Getty Images)

Trump has long been delighted by grand displays of military strength, and he has filled his Cabinet with numerous military leaders, although he was disappointed that they could not wear their military uniforms to their new civilian jobs in the administration. Trump wanted to have heavy military equipment and troops at his inauguration parade in January, but that idea was blocked for logistical reasons.

When Macron invited Trump to the parade in a June 27 phone call, the president promised to be there — forcing his staff to quickly scramble to plan a last-minute trip.

The two-hour parade featured one spectacle after another, a demonstration of France’s military history and current capabilities. The parade began with dozens of soldiers on horseback riding along the cobblestone avenue that runs from the Arc de Triomphe to the viewing station where Trump sat. Macron arrived in a military jeep that he rode as if it were a chariot.

At least three military bands took turns playing a parade soundtrack, and massive screens showed an action-movie-style video that explained the significance of the equipment on display, from vintage tanks that slowly and noisily charged down the avenue to a sleek new armored vehicle from which a handful of troops emerged to act out a mission.

There was then a roar in the sky as nine fighter jets flew overhead, leaving a trail of red, white and blue smoke — representing the French tricolor flag. Dozens of other planes followed. The video screens played footage taken from on board as well as wide shots showing the jets flying over iconic Paris sites.

[Excerpts from Trump’s comments on Air Force One]

Trump watched the show in awe, as did 8-year-old Wissem Reimann, who wants to be a pilot when he grows up and attended the parade with his mother.

1 of 42 Full Screen Autoplay Close Skip Ad × See President Trump and the first lady on their visit to France View Photos Beginning a 24-hour trip that coincides with France’s national day and the 100th anniversary of U.S. involvement in World War I, President Trump arrived in Paris for a visit filled with Bastille Day pomp. Caption Beginning a 24-hour trip that coincides with France’s national day and the 100th anniversary of U.S. involvement in World War I, President Trump arrived in Paris for a visit filled with Bastille Day pomp. July 14, 2017 French President Emmanuel Macron and President Trump watch the Bastille Day military parade in Paris. They are joined by their wives, Melania Trump and Brigitte Marcon, and the French Prime Minister Edouard Philippe, left. Julien De Rosa/European Pressphoto Agency Buy Photo Wait 1 second to continue.

“When the planes flew by, it was magnificent — it touched me deeply,” the boy said, adding that he likes Macron because he’s “happy, young” but that Trump is just “okay.”

Most of those at the parade were there to celebrate the national holiday and take in the spectacle — not to see Trump, who is deeply unpopular here in France.

“It doesn’t please me at all,” said Lola Chauvel, 30, who stood on the banks of the Seine to watch the planes with her 4-year-old son, Mateo. “I’m really not for Donald Trump. He doesn’t at all have the same values as we do.”

“Donald Trump? I don’t like it. I don’t understand why he’s here,” said one of the spectators at the military march, Riad Jhops, 33, an Algerian living in Drancy, a Paris suburb, who works for an Algerian aluminum company. “He says he has a problem with our climate treaty, and then he comes for the 14th of July.”

The president was largely shielded from any sign of dissent, and scattered protests were small, peaceful and far from the parade route — nothing like the violent demonstrations last weekend in Hamburg, where anti-capitalist protesters attempted to make a grand statement at the meeting of the world’s 20 largest economies. There were small protests Thursday night in the symbolic Place de la Republique, where piñatas of the U.S. president were on full display, and in the Place des Etats-Unis, where Democrats Abroad staged a protest.

After Trump departed, there was another in the Place de Clichy on Friday afternoon.

“We’re protesting Trump coming to Paris — his racism, his sexism, his actions against the environment, and against migrants and Muslim communities. And the fact that he’s been given legitimacy by this invitation,” said Sylvestre Jaffard, 46, who teaches IT skills in Paris and who on Friday was holding one end of a large sign that read “Paris against Trump.”

[Trump’s legal team struggles to rein in their client]

But their anger was not directed solely at Trump. Workers collectives picketed Macron, who plans a drastic overhaul of France’s labor market this fall.

After the air show came the hundreds of troops in vintage uniforms, starting with 200 marchers wearing U.S. uniforms from World War I. Suddenly, the sky filled with helicopters. Afterward, police on motorcycles came speeding down the avenue, followed by a seemingly never-ending stream of heavy military equipment, small jeeps, armored vehicles of all sizes, tanks, flatbed trucks hauling bulldozers and even more tanks. It felt like the grand finale of a fireworks show, as military equipment continued to appear.

There were red emergency response vehicles and a brass band riding horses as they played.

And there was a military band featuring players from several French military branches who played the anthem of the town of Nice, which is mourning the first anniversary of a terrorist attack that killed 86 following Bastille Day festivities. Macron planned to travel to Nice on Friday afternoon to remember those who were killed.

The musicians also played a medley of songs by the French electronic group Daft Punk, which was especially popular with younger people in the crowd — including the 39-year-old Macron, who smiled and slightly bobbed his head, while Trump, 71, looked a little confused.

Soon the event was over, and Macron walked Trump to the motorcade that would take him to the airport for a flight to New Jersey.

The two men shook hands, as their shoulders touched, and Trump patted their clasped hands. They continued holding hands as Trump leaned over to kiss the cheek of Macron’s wife, Brigitte Macron, then held her hand while continuing to hold her husband’s hand. He finally released their hands but patted Macron’s shoulder one more time.

Throughout the whole goodbye, the president broadly smiled.

Trump tweets that he’ll back in Bedminster this weekend